转载博客:http://www.dotblogs.com.tw/allanyiin/archive/2010/11/21/19585.aspx

SSIS 为了要能够在64位的机器上面让SSIS存取Oracle,当然需要安装64位的Oracle Provider,但是遇到最大的问题在于SSIS在执行的时候分成两种组件,分别是DTExec.exe(32位版)以及DTExec.exe(64位版),分别存在于Program Files(x86)以及Program Files目录之下。当SSIS在执行时候或者是在利用导入导出数据(64位版)时都不会有问题

但是最大的问题在于SSIS在设计阶段时利用的BIDS只有32位版,因此在开发时若是要测试连接,会找不到对应的32位提供程序,而发生初始化提供程序的问题(所以大家这时会质疑我明明已经装了,为什么他说找不到)

因此若是要解决方式就必须同时安装32位以及64位的Oracle Client。
以下说明,在64位Windows环境下安装Oracle Client & OLEDB组件的步骤(我的操作系统是Windows Server 2008 R2):
1、需要先准备32位以及64位两种版本的Oracle Client,建议使用11.1.0.7.0版,因为如果是使用10.2.0.1版本需要再安装两个Oracle补丁(#4547817 & #5383042) ,如果没有安装以上补丁会遇到ORA-12154: TNS:无法解析指定的连接ID的问题。
2、如果系统上有旧的Oracle clients,请复制备份tnsnames.ora以及sqlnet.ora档案。(位于%ORACLE_HOME%/network/ADMIN/目录下)
3、安装以及删除旧的Oracle client以及安装目录(需要重启计算机,才能够删除目录)。
4、在64位SQL Server的机器上面执行Oracle 11g Client的setup.exe,必须先安装32 位版本。
5、选择[管理员]模式全部安装(专业级人士可以自行选择模式)。

6、选择相应的语言下一步,然后根据需要修改路径

在此我将32位的路径文件夹改为client_1,
将64位的路径文件夹改为client_2.
7、安装完后重新将TNSNAMES.ORA替换新安装的client的%ORACLE_HOME%/network/admin文件夹中,32位和64位都要替换,否则在使用PLSQL或者BIDS创建Oracle数据源时会提示TNS错误。
P.S.如果在安装完2个client(32位和64位)之后使用自带的Net Manager配置服务命名时其配置的的都是64位的,即配置的ORA都存在64位的client目录的admin文件夹中,所以始终无法使用BIDS连接Oracle(除非使用IP\服务名方式)
8、重复以上步骤再安装一次64位Client

P.S.安装时会出现[OracleMTSRecoveryService 已存在]或者一些PATH路径值过多等的错误信息,请点选[忽略]继续安装即可,当然也可以找寻相应的解决方案解决更好,只是这些问题都不是非常严重的。

9、修改以下的注册表设定,然后重启电脑
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC\MTxOCI
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\MSDTC\MTxOCI
将值改为
OracleOciLib = oci.dll
OracleSqlLib = orasql11.dll (旧的值是: SQLLib80 .dll)
OracleXaLib = oraclient11.dll (旧的值是: xa80.dll)

此时就可以正常地在64位环境中的BIDS读取Oracle数据了。各位可以利用32位版以及64位版的导入导出数据进行测试。
但是要记得的是,使用BIDS时,它是根据32位的数据提供程序,因此在开发以及排错时还是利用32位的Oracle OLEDB来读取数据。但是当SSIS封装布署到64位SQL Server执行时,他就会改使用64位的Oracle OLEDB

最新文章

  1. servlet使用入门
  2. Win7(x64)升级到Win10
  3. Android四大组件之一“广播”
  4. windows下远程桌面连接centos
  5. android 点击屏幕关闭 软键盘
  6. 遇到tomcat端口被占用问题解决方案
  7. 山东省第四届acm.Rescue The Princess(数学推导)
  8. 服务器网页GZIP压缩怎么配置
  9. 42.JTAG接口使用注意
  10. JAVA素数分解
  11. Excel的 OleDb 连接串的格式
  12. mini2440 MJPG_STREAMER 产生问题
  13. c#类的初始化顺序
  14. 抽奖转盘(jqueryrotate.js)
  15. 利用csc.exe 手动编译C#程序
  16. ImageMagick 压缩图片 方法
  17. Android Studio的使用(十)--读取assets、Raw文件夹下文件,以及menu、drawable文件夹
  18. 你不知道的JavaScript--Item12 undefined 与 null
  19. c#操作IIS之IISHelper
  20. Unity 代码组件获取和使用、Resources加载、OnGUI、Time、Mathf、PlayerPref

热门文章

  1. FIFO页面淘汰算法
  2. HTML--留
  3. ASP.NET Core 2.1 源码学习之 Options[3]:IOptionsMonitor 【转】
  4. python学习_循环结构 and 类型判断
  5. ImportError: libcudart.so.8.0: cannot open shared object file: No such file or directory
  6. HDU 4760 Good Firewall ( Trie树 )
  7. HDU 1532 基础EK Drainage Ditches
  8. nginx教程全集汇总
  9. vue cli & vue 3.x
  10. POJ 2983-Is the Information Reliable