如何从SSIS / Visual Studio与ODBC建立ORACLE连接?

时间:2019-03-04 22:50:08

标签: oracle ssis odbc etl oracle12c

尽管OLEDB和ADO.NET可能比ODBC更新,但我听说SSIS中与Oracle的ODBC连接可能更快。

我试图在SSIS中建立到Oracle数据库的简单ODBC连接

OLE DB / ADO.Net连接很容易。我输入了凭据,并且连接了繁荣。

事实证明,ODBC非常困难。我正在运行Windows 10 64位。 Visual Studio 2015(我相信SSIS的设计者最初只打算使用32位ODBC连接)。 Oracle是版本12c。

所以...我完成了复杂的Oracle驱动程序安装。下载了Oracle Basic light Express + ODBC。将它们放在同一目录中。使用管理员权限运行odbc.install.exe。最终使Oracle驱动程序显示在Microsoft ODBC中(32或64,最终都下载了两者)。我在Microsoft ODBC安装程序中测试连接?成功!! OO! ..进入Visual Studio。设置连接---测试---失败!某些隐秘错误.... 127 ...在quora32.dll中找不到“ oracle”。

Oracle的Microsoft驱动程序是否仍然可以下载?

2 个答案:

答案 0 :(得分:0)

32位和64位

我认为问题的主要原因是Visual studio is a 32-bit application和安装的ODBC驱动程序是64位的。另一方面,操作系统为64位,则它将正常工作。检查以下链接以获取更多信息:

Attunity连接器

我确实没有尝试使用ODBC连接到Oracle,但是如果您的目标是获得更高的性能,那么从SSIS连接到Oracle的最快方法就是使用 Oracle的Attunity高速连接器,已被Microsoft选择为包含在SQL Server Integration Services(SSIS)中。

检查以下链接以获取更多信息:

答案 1 :(得分:0)

正如在此问题上以各种方式所述,VS IDE(及其典型的测试环境)是32位的,即使在64位Windows上安装/运行或在64位Windows上构建使用/部署时也是如此。 。我的雇主有a knowledgebase article discussing this

此外,SQL Server,SSIS和VS始终是OLE DB或ADO.NET客户端;他们实际上并不直接说ODBC。当您告诉SQL Server,SSIS或VS连接到ODBC驱动程序或ODBC DSN时,它们无形地使用用于ODBC驱动程序的 Microsoft OLE DB [Bridge]提供程序

考虑到您明确想要使用ODBC的所有方法,最简单的方法是安装所有OLE DB(包括Bridge Provider)和ODBC组件(以及任何库)的32位和64位变体它们依赖于它们(例如OCI或Oracle Instant Client),并配置一对ODBC System DSN(出于多种原因,不是 User DSN),每个32位和64位,它们的名称和配置相同,只是驱动程序库除外。

无论您使用的是ODBC驱动程序from my employer(可能是以前引用的“ 12-15倍更快”的驱动程序,该策略都有效吗?如果是这样,请务必注意,企业版“并发用户”将是积极的)连接的客户端(未安装的客户端),其他第三方或Oracle本身。