教你如何将Oracle数据库转换为SQL Server
2012-11-30 18:49
281 查看
近期为公司的一个项目数据库进行了转换,将Oracle的Db转换为SqlServer(2000或2005均可),一开始在网上找了一些资料,发现有个工具叫SwisSql的,尝试了一下,没成功,继续查找.后来经同事提醒,使用SqlServer的导入和导出工具,尝试一下,确实可以转换.操作步骤如下所述.
所需要的环境比较简单,就是本机可以同时连接Oracle和SqlServer即就,注意:这里不必为Oracle数据库建立ODBC,采用直连方式即可,需要新建一个SqlServer数据库,用于加载Oracle的数据.下面以SqlServer2005为例
步骤1
打开Sqlserver,如图-1,选中目标数据库,右键->任务->导入数据
图-1
步骤2:
选择”导入数据”菜单,会出现向导,点击下一步,出现如图-2所示界面
图-2
这里要说明下,最好选择”MicroSoft OLE DB Provider for Oracle方式,选择另外一种方式导入数据时会报错.
输入服务器名称和用户密码,测试成功后,一定要勾选”允许保存密码”
步骤3
此步骤就是选择目标数据库,如图-3所示
图-3
步骤4
导入数据有两种方式,一种方式是可视化选择Db表或视图;另一种方式是通过sql语句实现,一般批量导入选择第一种方式
图-4
步骤5
此步骤就是选择我们需要导入的Db对象,如图-5所示
图-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要更加精确,无论是对数据还是对表结构
总之,这次导入还是比较顺利的,更重要的是比较简单,比使用第三方工具要方便很多,因此,有些需求的朋友推荐此方法
原文出处:http://www.cnblogs.com/xiyang1011/archive/2010/11/25/1888069.html
所需要的环境比较简单,就是本机可以同时连接Oracle和SqlServer即就,注意:这里不必为Oracle数据库建立ODBC,采用直连方式即可,需要新建一个SqlServer数据库,用于加载Oracle的数据.下面以SqlServer2005为例
步骤1
打开Sqlserver,如图-1,选中目标数据库,右键->任务->导入数据
图-1
步骤2:
选择”导入数据”菜单,会出现向导,点击下一步,出现如图-2所示界面
图-2
这里要说明下,最好选择”MicroSoft OLE DB Provider for Oracle方式,选择另外一种方式导入数据时会报错.
输入服务器名称和用户密码,测试成功后,一定要勾选”允许保存密码”
步骤3
此步骤就是选择目标数据库,如图-3所示
图-3
步骤4
导入数据有两种方式,一种方式是可视化选择Db表或视图;另一种方式是通过sql语句实现,一般批量导入选择第一种方式
图-4
步骤5
此步骤就是选择我们需要导入的Db对象,如图-5所示
图-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要更加精确,无论是对数据还是对表结构
总之,这次导入还是比较顺利的,更重要的是比较简单,比使用第三方工具要方便很多,因此,有些需求的朋友推荐此方法
原文出处:http://www.cnblogs.com/xiyang1011/archive/2010/11/25/1888069.html
相关文章推荐
- 教你如何将Oracle数据库转换为SQL Server
- sql server 导出的datetime结果 CAST(0x00009E0E0095524F AS DateTime) 如何向mysql,oracle等数据库进行转换
- 如何进行数据库,比如ORACLE,SQL SERVER的逆向工程,将数据库导入到PD中
- 如何将 Access 数据库转换到 SQL Server
- 如何进行数据库,比如ORACLE,SQL SERVER的逆向工程,将数据库导入到PD中
- 如何进行数据库,比如ORACLE,SQL SERVER的逆向工程,将数据库导入到PowerDesigner中
- 如何进行数据库,比如ORACLE,SQL SERVER的逆向工程,将数据库导入到PowerDesigner中
- 如何查询Oracle,Sql Server,MySQL 中的数据库名称、数据表名称、字段名称
- 如何进行数据库,比如ORACLE,SQL SERVER的逆向工程,将数据库导入到PowerDesigner中
- C#如何连接数据库(含SQL SERVER/ORACLE)
- 如何进行数据库,比如ORACLE,SQL SERVER的逆向工程,将数据库导入到PowerDesigner中
- 如何转换SQL Server 2008数据库到SQL Server 2005
- 如何进行数据库,比如ORACLE,SQL SERVER的逆向工程,将数据库导入到PowerDesigner中
- 如何转换SQL Server 2008数据库到SQL Server 2005
- SQL 教程数据库包括:Oracle, Sybase, SQL Server, DB2, Access 等等,您将学到如何使用 SQL 访问和处理数据系统中的数据
- 如何将 Access 数据库转换到 SQL Server
- 如何查询Oracle,Sql Server,MySQL 中的数据库名称、数据表名称、字段名称
- SQL Server 转换为 Oracle 数据库遇到的一个SQL特例
- 将Oracle数据库转换为SQL Server
- 如何转换SQL Server 2008数据库到SQL Server 2005