用于 SSIS 连接的 Oracle 安装(和 32 64 位驱动程序)
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/5387868/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
Oracle Install for SSIS connectivity (and drivers 32 64 bit)
提问by Joseph
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?
我有一个 SSIS 包 (SQL 2008),我需要用它连接到 Oracle DB (11g)。我需要安装什么才能连接到 oracle?什么是术语?我所做的所有搜索都在谈论 Instant Client,但是在下载时我看不到 exe 吗?我知道安装服务器会给我提供 Oracle Net 管理器(用于更新 TNSNames.ora 的 UI),但我不想安装整个服务器。这是矫枉过正。我可以通过 SSIS 中的连接管理器创建到 Oracle DB 的连接的最小占用空间是多少?
Also what's the difference between Instant Client& Oracle Client toolsetc? There's so much arcane (atleast to me) terminology that it's confusing.
即时客户端和Oracle 客户端工具等之间有什么区别?有太多神秘的(至少对我而言)术语,令人困惑。
P.s. - From reading http://www.oracle.com/technetwork/topics/dotnet/index-085163.htmlyou 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.
Ps - 从阅读http://www.oracle.com/technetwork/topics/dotnet/index-085163.html你会认为这是我想要的,但下载只有一个 install.bat 似乎什么都不做!到目前为止我尝试过的典型“解决方案”。
回答by Joseph
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 clientor something named like that. It installs Net Manager which is what I want.
好吧,我所做的是从http://www.oracle.com/technetwork/database/enterprise-edition/downloads/112010-win64soft下载适用于 Microsoft Windows (x64) 的 Oracle Database 11g 第 2 版客户端 (11.2.0.1.0) -094461.html。它有 4 个安装选项,其中之一是 Instant Client(这对我没有帮助)。有效的是运行时客户端或类似名称的东西。它安装了我想要的 Net Manager。
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):
PS-添加(当我遍历 Oracle 64 位旅程时),我发现我无法将 SSIS 与 64 位 oracle DB 提供程序一起使用。我得到了例外(在 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.
由于初始化提供程序时出错,测试连接失败。尝试加载 Oracle 客户端库时抛出 BadImageFormatException。在安装了 32 位 Oracle 客户端组件的情况下以 64 位模式运行时,会出现此问题。
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).
我猜这是因为 SSIS 进程是 32 位进程,不能使用 64 位 oracle 驱动程序(我的主机是 Win 7 64 位)。
After testing, I found that this is indeed the case. We need the 32 bit drivers only for the SSIS IDEbut can use 64 bit when running the DTSX package using the 64 bit dtexec.exe (C:\Program Files\Microsoft SQL Server\100\DTS\Binn)
经过测试,我发现确实如此。我们只需要 SSIS IDE 的 32 位驱动程序,但在使用 64 位 dtexec.exe (C:\Program Files\Microsoft SQL Server\100\DTS\Binn) 运行 DTSX 包时可以使用 64位驱动程序
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)
因此,在 DEVELOPMENT(在 64 位机器上)同时安装 32 位和 64 位客户端: 32 位:用于在 Visual Studio IDE 中进行开发 64 位:在命令行上使用 64 位版本的 dtexec.exe 运行 DTSX 包(就像我们在生产环境中运行它时的情况一样)
A similar thread here.
这里有一个类似的线程。
回答by grapefruitmoon
I'm not sure of the difference between the Install Client and the Oracle Client Tools. I've always used the latter. The link below has a download for the 10g client tools (under Oracle Database 10g Client Release 2), which should be what you require to get the connectivity from SSIS.
我不确定安装客户端和 Oracle 客户端工具之间的区别。我一直用后者。下面的链接提供了 10g 客户端工具(在 Oracle 数据库 10g 客户端第 2 版下)的下载,这应该是您从 SSIS 获得连接所需要的。
http://www.oracle.com/technetwork/database/10204-winx64-vista-win2k8-082253.html
http://www.oracle.com/technetwork/database/10204-winx64-vista-win2k8-082253.html
回答by IronRod
I used this link Configuring SSIS 2008 to Connect to Oracleand was successful getting VS 2012 to use SSIS with Oracle 11.2 instantclient. All credit to the author, Jerry Dy. NOTE: The only registry entry required is the one for ORACLE_HOME.
我使用此链接配置 SSIS 2008 以连接到 Oracle并成功地让 VS 2012 将 SSIS 与 Oracle 11.2 即时客户端一起使用。所有功劳归功于作者,杰瑞·戴。注意:唯一需要的注册表项是 ORACLE_HOME 的注册表项。