码迷,mamicode.com
首页 > 数据库 > 详细

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

时间:2017-12-23 15:47:06      阅读:188      评论:0      收藏:0      [点我收藏+]

标签:遇到   过程   oracl   主机   ora-01017   写法   调用   protoc   通过   

将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

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

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

标签:遇到   过程   oracl   主机   ora-01017   写法   调用   protoc   通过   

原文地址:http://www.cnblogs.com/berlin/p/8093365.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!