1、首先要在Oracle数据库中建对应的表,Oracle数据库中的字段类型和Sql Server 有所不同,Oracle中常用的有varchar2、integer、nchar、date,Sql Server 的字段类型相对多一些,uniqueidentifier类型的长度是36。

2、打开管理工具——数据源(ODBC),配置SqlServer的数据源。

3、打开Oracle数据库——工具——ODBC导入

4、选择服务器,输入数据库账号和密码

5、选择用户和表,然后点击左下角的导入按钮即可

6、附上由SqlServer表自动生成Oracle的代码:

/********1.定义变量*********/ DECLARE @table_id int, @table_name varchar(100), @column_id int, @c_name sysname, @c_type varchar(50), @max_length smallint, @precision tinyint, @scale tinyint, @is_nullable bit, @cons_sql varchar(5000)

/********2.变量初始化*********/ set @table_name='mio_log' set @cons_sql='create table '+@table_name+'('

/********3.取表的id*********/ DECLARE tbl_cursor CURSOR FOR select a.id from sys.sysobjects  a where a.id = object_id(N'[dbo].['+@table_name+']') and OBJECTPROPERTY(id, N'IsUserTable') = 1

OPEN tbl_cursor FETCH NEXT FROM tbl_cursor INTO @table_id

/********4.构建表的结构*********/ DECLARE columns_cursor CURSOR FOR SELECT b.column_id,b.name,c.name,b.max_length, b.precision,b.scale,b.is_nullable from sys.columns b,sys.systypes c where b.object_id=@table_id and b.system_type_id=c.xtype order by b.column_id asc

OPEN columns_cursor

FETCH NEXT FROM columns_cursor INTO @column_id, @c_name, @c_type, @max_length, @precision, @scale, @is_nullable

WHILE @@FETCH_STATUS = 0 BEGIN set @cons_sql=@cons_sql+@c_name+' '+ (case when @c_type in('smallint','tinyint') then 'int' when @c_type='int' then 'number' when @c_type ='varchar' then 'varchar2('+convert(varchar(2),@max_length)+')' when @c_type in('datetime','smalldatetime') then 'date' when @c_type='decimal' then 'number'+'('+convert(varchar(1),@precision)+','+convert(varchar(1),@scale)+')' when @c_type='char' then 'char('+convert(varchar(2),@max_length)+')' when @c_type='text' then 'long' --此处有待于进一步数据类型的映射 else '##' end)+ (case when @is_nullable=1 then ' null' else ' not null' end)+',' FETCH NEXT FROM columns_cursor INTO @column_id, @c_name, @c_type, @max_length, @precision, @scale, @is_nullable END

/********5.输出建表语句*********/ select left(@cons_sql,Len(@cons_sql)-1)+');'

/********6.释放游标*********/ DEALLOCATE tbl_cursor DEALLOCATE columns_cursor

利用ODBC从SQLServer向Oracle中导数据的更多相关文章

  1. 利用Kettle进行SQLServer与Oracle之间的数据迁移实践

    Kettle简介 Kettle(网地址为http://kettle.pentaho.org/)是一款国外开源的ETL工具,纯java编写,可以在Windows.Linux.Unix上运行,数据抽取高效 ...

  2. SQLServer与Oracle的数据同步(触发器trigger)

    说到同步,其实是靠"作业"定时调度存储过程来操作数据,增,删,改,全在里面,结合触发器,游标来实现,关于作业调度,使用了5秒运行一次来实行"秒级作业",这样基本 ...

  3. 利用jdbc处理oracle大数据---大文件和二进制文件

    一.Oracle中大数据处理 在Oracle中,LOB(Large Object,大型对象)类型的字段现在用得越来越多了.因为这种类型的字段,容量大(最多能容纳4GB的数据),且一个表中可以有多个这种 ...

  4. 针对各主流数据mysql、sqlserver、oracle中文乱码问题。

    针对各主流数据mysql.sqlserver.oracle当以编码格式gbk存放数据时,要注意字符串类型的字段,要采用宽字符串nvarchar存放,前提是当你的应用程序是utf8编码,而数据库是gbk ...

  5. spring BasicDataSource 数据源配置 sqlserver数据库 oracle数据库 mysql数据jdbc配置

    spring BasicDataSource 数据源配置 sqlserver数据库 oracle数据库 mysql数据jdbc配置 jdbc.properties 文件信息如下: ---------- ...

  6. c#几种数据库的大数据批量插入(SqlServer、Oracle、SQLite和MySql)

    这篇文章主要介绍了c#几种数据库的大数据批量插入(SqlServer.Oracle.SQLite和MySql),需要的朋友可以了解一下. 在之前只知道SqlServer支持数据批量插入,殊不知道Ora ...

  7. 使用odbc从notes中导数据,配置odbc时报错

    上次在配置odbc从notes中导数据时一直报错(忘记是什么错误了),后来,尝试着把notes和notesSQL的路径加入到path中就OK了!

  8. 数据库多行数据合并一行(sqlserver、Oracle、Mysql)

    我们日常查询数据时,经常会有将查询到的数据按照某一列分组显示(合并多行数据),比如: 表结构: ),coursename )); 需要将以上数据按照用户名分组,所选课程列不同项之间用逗号隔开,在一行中 ...

  9. 异构关系数据库(Sqlserver与Oracle)之间的数据类型转换参考

    一.Oracle到SqlServer的数据类型的转变 编号 Oracle ToSqlServer SqlServer 1 BINARY_DOUBLE VARCHAR(100) real 2 BINAR ...

随机推荐

  1. CSS3 transition/transform

    Transition 1.简写属性transition,可以包括四个属性,这四个属性的顺序按照下面介绍的顺序书写,即transition:property duration timing-functi ...

  2. jQuery Jcrop API参数说明(中文版)(转)(图片剪切)

    Jcrop是一个jQuery图片裁剪插件,它能为你的WEB应用程序快速简单地提供图片裁剪的功能.特点如下: 对所有图片均unobtrusively(无侵入的,保持DOM简洁) 支持宽高比例锁定 支持 ...

  3. Android 热补丁动态修复框架小结

    一.概述 最新github上开源了很多热补丁动态修复框架,大致有: https://github.com/dodola/HotFix https://github.com/jasonross/Nuwa ...

  4. Memcached使用入门

    转:http://www.linuxidc.com/Linux/2011-12/49516.htm http://blog.csdn.net/wxwzy738/article/details/2370 ...

  5. aliyun CentOS6.5 上 svn 安装笔记

    为了方便管理自己的一些学习资料.总结等,在CentOS6.5上安装SVN,记录过程如下: 1.1  安装方式  独立服务器  fsfs SVN服务器有2种运行方式:独立安装.SVN+Apache.独立 ...

  6. spring-mvc 与 openid4java

    以GoogleOpenID 为例,试验了OAuth单点登录的用法: <dependency> <groupId>org.openid4java</groupId> ...

  7. MEAN-全栈javascript开发框架

    引言 使用JavaScript能够完整迅速做出Web应用程序,目前一套工具包括MongoDB.ExpressJS,AngularJS和Node.js越来越受到欢迎,其开发的灵活性和易用性加快开发效率, ...

  8. css编码规范

    css编码规范 https://segmentfault.com/a/1190000002460968 常用样式测试工具 W3C CSS validator:http://jigsaw.w3.org/ ...

  9. ListView 搭配SimpleAdapter

    这是SimplerAdapter的构造函数 public SimpleAdapter(Context context, List<? extends Map<String, ?>&g ...

  10. PHP 递归的密码

    http://www.cnsecer.com/4146.html 说实话 真的很炫 好像还是不好理解啊