将MS SQL SERVER 数据库导入到ORACLE的坑

本文记录了从MSSQLSERVER数据库迁移至ORACLE过程中遇到的问题及解决方案,包括安装目录空格导致的连接失败、数据源配置、NULL值处理、表查询问题及ODP.NET连接等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

将MS SQL SERVER 数据库导入到ORACLE的坑

通过Sql Server Management Studio将SQL SERVER数据库导入ORACLE过程遇到的坑

1.Sql Server Management Studio安装目录空格问题,结果报 ORA-06413: 连接未打开
现在的电脑都是安装64位操作系统,Sql Server Management Studio都是安装在C:\Program Files (x86)\Microsoft SQL Server,因此使用Sql Server Management Studio
连接ORACLE时都会报ORA-06413: 连接未打开错误

解决办法:Sql Server Management Studio的导出功能也是调用DTS,因此可能将dts的exe及文件复制到一个自定义没有空格的目录下,直接用DTSWizard.exe进行导出
dts的DTSWizard.exe及其它文件源路径
C:\Program Files (x86)\Microsoft SQL Server\110\DTS\Binn

2.ORACLE的数据源或主机字符串写法
(DESCRIPTION =(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=xxx.xxx.xxx.xxx)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME = xxx.xx)))

HOST:ORACLE服务器的IP
SERVICE_NAME:ORACLE中数据库名字(注意是全名)

3.导入数据不允许插入NULL问题
SQL SERVER 中的'',NULL在ORACLE中都是NULL,因此在SQL SERVER 表中不可为NULL,数据为''在ORACLE都是导入不进去的

解决办法:调整ORACLE中表的是否为NULL属性或改变SQL SERVER表中''的值为其它

4.导入成功后,在ORACLE查询表,报“表或视图不存在”错误
这是因为ORACLE表名默认都是大写格式的,如果是小写表名,则在导入时给表名加了“”,可能通过 SELECT *FROM “Mytable"来查询到

解决办法
在导入时,修改创建表的表名为全大写形式

5.使用odp.net 及odp.net ef连接到oracle 9i 报ORA-01017: invalid username/password; logon denied
odp.net及odp.net ef支持最低的oracle数据库版本为oracle 10g.2

解决办法
换用更高版本的数据库

转载于:https://www.cnblogs.com/berlin/p/8093365.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值