Home >Database >Mysql Tutorial >Oracle转换SqlServer

Oracle转换SqlServer

WBOY
WBOYOriginal
2016-06-07 15:40:561244browse

近期为公司的一个项目数据库进行了转换,将Oracle的Db转换为SqlServer(2000或2005均可),一开始在网上找了一些资料,发现有个工具叫SwisSql的,尝试了一下,没成功,继续查找.后来经同事提醒,使用SqlServer的导入和导出工具,尝试一下,确实可以转换.操作步骤如下所

      近期为公司的一个项目数据库进行了转换,将Oracle的Db转换为SqlServer(2000或2005均可),一开始在网上找了一些资料,发现有个工具叫SwisSql的,尝试了一下,没成功,继续查找.后来经同事提醒,使用SqlServer的导入和导出工具,尝试一下,确实可以转换.操作步骤如下所述.

      所需要的环境比较简单,就是本机可以同时连接Oracle和SqlServer即就,注意:这里不必为Oracle数据库建立ODBC,采用直连方式即可,需要新建一个SqlServer数据库,用于加载Oracle的数据.下面以SqlServer2005为例

l 步骤1

      打开Sqlserver,如图-1,选中目标数据库,右键->任务->导入数据

Oracle转换SqlServer

图-1

l 步骤2:

      选择”导入数据”菜单,会出现向导,点击下一步,出现如图-2所示界面

Oracle转换SqlServer

图-2

      这里要说明下,最好选择”MicroSoft OLE DB Provider for Oracle方式,选择另外一种方式导入数据时会报错.

输入服务器名称和用户密码,测试成功后,一定要勾选”允许保存密码”

l 步骤3

      此步骤就是选择目标数据库,如图-3所示

Oracle转换SqlServer

图-3

步骤4

      导入数据有两种方式,一种方式是可视化选择Db表或视图;另一种方式是通过sql语句实现,一般批量导入选择第一种方式

Oracle转换SqlServer

图-4

l 步骤5

      此步骤就是选择我们需要导入的Db对象,如图-5所示

Oracle转换SqlServer

图-5

      这里说明一下,如果oracle中表的列数据类型没有匹配成功,可以直接点击”编辑”按钮,直接编辑即可

      选择好导入Db对象以后,点击”下一步”或”完成”,就开始导入.一般来说,如果数据比较正常,不是特殊的Oracle数据,都是可以导入的.

      下面说下我操作过程中遇到的问题,希望给大家有所提醒

      1. 导入以后的Db表,可能主键或外键会丢失,需要我们自己去创建主键,自己写sql语法实现就好了.

      2. Oracle中blob或clob类型的数据,在此处是无法导入的,需要我们手工写代码导入.比如表A,我们可以先用上述方法将非blog或clob字段的数据导进来,然后写代码,执行update语句,将字段值写入其中即可

      3. 如果数据格式不符合条件,也不是不可以的,比如日期型字段,oracle中可能这样也会存储0200-9-12,导入时这行数据就会报错,因为不符合日期类型格式,需要调整.

      4. Oracle转换至SqlServer2000或SqlServer2005,所产生的结果是不一样的,这个大家要注意.应该说,2005比2000要更加精确,无论是对数据还是对表结构

      总之,这次导入还是比较顺利的,更重要的是比较简单,比使用第三方工具要方便很多,因此,有些需求的朋友推荐此方法

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn