永发信息网

怎样从SSIS 连接上远方的oracle 10g数据

答案:1  悬赏:60  手机版
解决时间 2021-11-27 10:30
  • 提问者网友:酱爆肉
  • 2021-11-26 22:34
怎样从SSIS 连接上远方的oracle 10g数据
最佳答案
  • 五星知识达人网友:等灯
  • 2021-11-26 23:48
经过各种折腾,终于解决了这个问题。参考了各论坛的方案,解决办法如下:

1.格式化电脑,重装操作系统和SQL Server 2012。因为看到有一种说法是64位的SQL Server安装的路径中有program file (X86),这个括号影响oracle客户端工作。在未重做系统前,卸载重装不能改变这个安装路径,可能是卸不干净的问题。重装的时候指定了文件路径和共享路径为c:\sqlserver,但是在运行时,发现visual studio2010的实际路径仍在program file (X86)下。

安装oracle 10g 32位客户端,再安装oracle10g 64位客户端,有顺序要求。在安装前要修改一下文件,否则系统报错,装不上。
~ 编辑安装包内文件 database/stage/prereq/db/refhost.xml
增加下面节点



~ 编辑安装包内文件 database/install/oraparam.ini
找到小节 在下面的第二行中增加windows版本6.1,如下面所示
Windows=4.0,5.0,5.1,5.2,6.1

至此,在net manager中建立和oracle的连接,测试是连通的,但是在SSIS中连不上。

3.安装oralce 11g 32位,然后安装oracle 11g64位。安装完成后,修改注册表。
(1) For both 32-bit and 64-bit installations, open up REGEDIT and make the following registry changes:

HKEY_LOCAL_MACHINE\Software\Microsoft\MSDTC\MTxOCI

OracleOciLib contains the value oci.dll

OracleSqlLib contains the value orasql11.dll (old value is SQLLib80.dll)

OracleXaLib contains the value oraclient11.dll (old value is xa80.dll)

(2) For 64-bit installations only:

HKEY_LOCAL_MACHINE\Software\Wow6432Node\Microsoft\MSDTC\MTxOCI

OracleOciLib contains the value oci.dll

OracleSqlLib contains the value orasql11.dll (old value is SQLLib80.dll)

OracleXaLib contains the value oraclient11.dll (old value is xa80.dll)

(3) You must reboot your server for the changes to apply. Reboot your server.

参考文章 http://social.msdn.microsoft.c ... -2012

然后把在oracle 10g下的TNSNAME文件拷贝到各个版本的客户端下。
在SSIS project name上右键选属性,在debuging下,把运行64位改成false。

最后,抱着如果不成功,就把电脑砸了的心情,在SSIS中测试连接到oracle数据库,成功了!
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯