Oracle connections broken in SSIS after uninstalling 32bit version of oracle client

元气小坏坏 提交于 2020-01-04 10:05:09

问题


I get the following error message when I try to test my connections:

Test connection failed because of an error in initializing provider. The 'OraOLEDB.Oracle.1' provider is not registered on the local machine

I originally had 32 bit and 64 bit version of Oracle 12 client installed on my work machine. I uninstalled the 32bit version, because it was causing some conflicts with another application, but now after uninstalling I can no longer use my oracle connections in SSIS.

I'm using Visual Studio 2017 - I am pretty sure I installed 64bit version of SSDT, but it looks like they install under the 86x programs folder. I can still connect via TOAD, so it looks to be an issue of SSIS not pointing to the 64bit installation, I think. Can I manually set SSIS to point to the 64bit version, or do I need to reinstall 32bit?

TSN_Admin is set to the oracle12c_64 tsnname.ora file. I have also tried using the regsvr32.exe on oraoledb12.dll file, but I get an error message, even after running command prompt as admin:

The Module "OraOLEDB.dll" was loaded by the call to DllRegisterServer failed with error code 0x80070005.

I can reinstall the the 32bit version, but I need to wait for my company's IT department to approve the request first. It could be days before I get a response.


回答1:


Update 1 - Visual Studio 64-bit

After searching it looks like there is not Visual Studio 64-bit version:

  • Visual Studio 64 bit?

Initial Answer

I don't know if there is an official documentation for this, but based on my own experience you need to instal oracle client 32-bit on the developpement machine, because SQL Server Data Tools for Visual studio is a 32-bit application and it will not work will work with oracle client 64-bit.

But you can execute .dtsx package without any issue if you are working with oracle 64-bit client, you need to use the appropriate DtExec path:

32-bit

C:\Program Files (x86)\Microsoft SQL Server\100\DTS\Binn\DtExec.exe

64-bit

C:\Program Files\Microsoft SQL Server\100\DTS\Binn\DtExec.exe

While searching, i found many other links that share the same opinion:

  • Oracle Install for SSIS connectivity (and drivers 32 64 bit)
  • Oracle Client Provider for OLE DB in SSIS not working
  • Connecting to Oracle 11g on 64-bit (x64) machine SSIS 2012


来源:https://stackoverflow.com/questions/54750902/oracle-connections-broken-in-ssis-after-uninstalling-32bit-version-of-oracle-cli

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!