使用SQL Developer 数据迁移,从SQLServer迁移至Oracle
SQL Developer 版本:18.3.0.277
Oracle版本:11g
SQLServer版本:2008R2
第三方驱动:jtds-1.3.1.jar
操作背景:
成功建立Oracle连接和SQLServer连接
成功建立迁移资料档案库
开始迁移
迁移过程及报错信息如下:
查看日志,报错文字节选:
"insertResultSet method : 2019-03-05_20-00-54:INSERT INTO STAGE_SS2K5_SYSPROPERTIES VALUES (51, 101,
:x1,:x2,:x3,:x4,:x5 ) : 关闭的语句"
"05 3月 2019 08:01:56" 1000 "" "" "insertResultSet method : sendBatch/commit/freeClob failed : 关闭的语句"
"05 3月 2019 08:03:09" 900 "" "" "正在构建转换的模型: FAILED : 数据库迁移 : FAILED"
"05 3月 2019 08:03:09" 1000 "" "" "Convert
Cannot retrieve object if key is not set"
经实测,非迁移源数据库表主键设置问题,全部的表都有主键,同样报这个错误。
根据报错信息,可能是数据插入时发生了错误。具体来说,问题可能涉及到以下几个方面:
数据类型不匹配:在SQL Server和Oracle之间迁移数据时,您需要确保表的数据类型在两个数据库之间的兼容性。检查源表和目标表之间的数据类型,确保它们是兼容的。否则,可能会出现数据转换错误。
网络故障:由于数据迁移涉及到两个运行在不同服务器上的数据库,所以可能会出现网络故障。请确保您的网络连接稳定,并且两个数据库之间的连接被正确设置。
数据库设置不正确:可能某些SQLServer或Oracle数据库设置不正确,导致数据迁移错误。具体来说,检查Oracle数据库中所有的和迁移表相关的限制、触发器和约束是否设置正确。
SQL Developer或JDBC驱动不兼容:某些版本的SQL Developer或JDBC驱动器可能与您正在尝试的SQL Server和Oracle数据库不兼容。请确保您当前使用的软件版本与您正在使用的数据库兼容。您可能需要升级SQL开发人员或JDBC驱动。
尝试采用上述解决方案,检查您的设置并重试数据迁移。如果问题仍然存在,请联系SQL Developer的技术支持。