代码之家  ›  专栏  ›  技术社区  ›  user45867

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

  •  0
  • user45867  · 技术社区  · 7 年前

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

    我正在尝试在SSIS中设置到Oracle DB的简单ODBC连接

    OLE DB/ADO。网络连接很容易。我输入了凭据,砰的一声,接通了。

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

    所以我安装了复杂的Oracle驱动程序。已下载Oracle basic light express+ODBC。将它们放在同一目录中。跑 odbc.install.exe 具有管理员权限。最终,Oracle驱动程序显示在Microsoft ODBC中(32或64,最终都下载了)。我在Microsoft ODBC安装程序中测试连接?成功不知道。。进入Visual studio。设置连接---测试---失败!一些神秘的错误。。。。 127 ... 中的“oracle” quora32.dll 找不到。

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

    0 回复  |  直到 7 年前
        1
  •  0
  •   Hadi    7 年前

    32位vs 64位

    我认为问题的主要原因是 Visual studio is a 32-bit application 安装的ODBC驱动程序是64位的。另一方面,操作系统是64位的,那么它将正常工作。有关详细信息,请查看以下链接:

    Attunity连接器

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

        2
  •  0
  •   TallTed    7 年前

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

    此外,SQL Server、SSI和VS始终是OLE DB或ADO。净客户;他们实际上并不直接说ODBC。当您告诉SQL Server、SSIS或VS连接到ODBC驱动程序或ODBC DSN时,它们会不可见地使用 用于ODBC驱动程序的Microsoft OLEDB[桥接]提供程序 对于该连接。

    考虑到您明确希望使用ODBC,解决所有这些问题的最简单方法是安装所有OLE DB(包括网桥提供程序)和ODBC组件(以及它们所依赖的任何库,如OCI或Oracle Instant Client)的32位和64位变体,并配置一对ODBC 系统 DSN(非 使用者 DSN,出于多种原因),32位和64位各一个,它们的命名和配置相同,但驱动程序库除外。

    无论您是否使用ODBC驱动程序,此策略都有效 from my employer (哪一个可能是前面提到的“快12-15倍”的?如果是,请务必注意Enterprise Edition“并发用户”是关于主动连接的客户端,而不是安装的席位),来自另一个第三方,或者来自Oracle本身。