用于 SSIS 连接的 Oracle 安装(和 32 64 位驱动程序)
我有一个 SSIS 包 (SQL 2008),我需要用它连接到 Oracle DB (11g).我需要安装什么才能连接到 oracle?什么是术语?我所做的所有搜索都在谈论 Instant Client,但在下载时我看不到 exe 吗?我知道安装服务器会给我提供 Oracle Net manager(用于更新 TNSNames.ora 的 UI),但我不想安装整个服务器.这是矫枉过正.我可以通过 SSIS 中的连接管理器创建到 Oracle DB 的连接的最小占用空间是多少?
还有 Instant Client 和 之间的区别是什么?Oracle 客户端工具 等等?有太多晦涩的(至少对我而言)术语,令人困惑.
附言- 从阅读 http://www.oracle.com/technetwork/topics/dotnet/index-085163.html 你会认为这是我想要的,但下载只有一个 install.bat 似乎什么都不做!迄今为止我尝试过的典型解决方案".
解决方案嗯,我所做的是下载 Oracle Database 11g Release 2 Client (11.2.0.1.0) for Microsoft Windows (x64)来自 http://www.oracle.com/technetwork/database/enterprise-edition/downloads/112010-win64soft-094461.html.它有 4 个安装选项,其中之一是 Instant Client(这对我没有帮助).有效的是运行时客户端或类似名称的东西.它安装了我想要的 Net Manager.
PS-Adding on(当我遍历 Oracle 64 位旅程时),我发现我无法将 SSIS 与 64 位 oracle DB 提供程序一起使用.我得到了例外(在 SSIS 中添加连接时):
<块引用>测试连接失败,原因是初始化提供程序时出错.尝试加载 Oracle 客户端图书馆扔了错误图像格式异常.这个问题在 64 位模式下运行时会发生使用 32 位 Oracle 客户端已安装组件.
我猜这是因为 SSIS 进程是 32 位进程,不能使用 64 位 oracle 驱动程序(我的主机是 Win 7 64 位).
经过测试,我发现确实如此.我们只需要 SSIS IDE 的 32 位驱动程序,但在使用 64 位 dtexec.exe (C:Program FilesMicrosoft SQL Server100DTS宾)
因此在 DEVELOPMENT 中(在 64 位机器上)安装 32 位和 64 位客户端:32 位:用于在 Visual Studio IDE 中开发64 位:在命令行上使用 64 位版本的 dtexec.exe 运行 DTSX 包(就像我们在生产环境中运行的情况一样)
一个类似的帖子这里.>
I have an SSIS package (SQL 2008) that I need to connecto to an Oracle DB (11g) with. What do I need to install to connect to oracle? What's the terminology ? All searches I've done talk about Instant Client, but on downloading that I see no exe's? I know installing the server will give me that Oracle Net manager (UI to update TNSNames.ora) but I don't want to install the entire server. That to be is overkill. What's the smallest footprint so that I can create a connection to an oracle DB via my Connection Manager in SSIS?
Also what's the difference between Instant Client & Oracle Client tools etc? There's so much arcane (atleast to me) terminology that it's confusing.
P.s. - From reading http://www.oracle.com/technetwork/topics/dotnet/index-085163.html you would think this was what I wanted, but the download just has an install.bat that seems to do nothing! Typical of the "solutions" I've tried so far.
解决方案Well, what I did was download Oracle Database 11g Release 2 Client (11.2.0.1.0) for Microsoft Windows (x64) from http://www.oracle.com/technetwork/database/enterprise-edition/downloads/112010-win64soft-094461.html. It had 4 options for installing One of them being Instant Client(which did not help me). The one that works is Runtime client or something named like that. It installs Net Manager which is what I want.
PS-Adding on (as I traverse the Oracle 64 bit journey), I find that I cannot use SSIS with 64 bit oracle DB providers. I get the exceptions (on adding a connection in SSIS):
Test connection failed because of an error in initializing provider. Attempt to load Oracle client libraries threw BadImageFormatException. This problem will occur when running in 64 bit mode with the 32 bit Oracle client components installed.
I'm guessing this is because SSIS process is a 32 bit one and cannot use 64 bit oracle drivers (my host machine is Win 7 64 bit).
After testing, I found that this is indeed the case. We need the 32 bit drivers only for the SSIS IDE but can use 64 bit when running the DTSX package using the 64 bit dtexec.exe (C:Program FilesMicrosoft SQL Server100DTSBinn)
So in DEVELOPMENT (on a 64 bit machine) install both the 32 and 64 bit clients: 32 bit: for development in Visual Studio IDE 64 bit: To run the DTSX package using the 64 bit version of dtexec.exe on the command line (as would be the case when we run this in a production environment)
A similar thread here.
相关文章