安装Oracle以实现与SSIS的连接(以及32位和64位驱动程序)

7
我有一个SSIS包(SQL 2008),需要连接到Oracle DB(11g)。我需要安装什么才能连接到Oracle?术语是什么?我所有的搜索都谈论Instant Client,但下载后我看不到exe文件?我知道安装服务器会给我Oracle Net Manager(用于更新TNSNames.ora的UI),但我不想安装整个服务器。那样太浪费了。最小的占用空间是什么,以便我可以通过我的Connection Manager在SSIS中创建与Oracle DB的连接?
此外,“Instant Client”和“Oracle客户端工具”之间有什么区别?有太多晦涩难懂的术语,让人感到困惑。
附注:从阅读http://www.oracle.com/technetwork/topics/dotnet/index-085163.html中,你会认为这就是我想要的,但下载只有一个似乎什么也做不了的install.bat!这是我迄今尝试过的“解决方案”的典型特征。
3个回答

11

我所做的是从http://www.oracle.com/technetwork/database/enterprise-edition/downloads/112010-win64soft-094461.html下载了Oracle Database 11g Release 2 Client (11.2.0.1.0) for Microsoft Windows (x64)。安装时有四个选项之一是Instant Client(对我没有帮助)。可用的是名为Runtime client或类似名称的选项,它安装了Net Manager,这正是我想要的。

补充一下(当我使用64位oracle DB提供程序时),我发现无法使用SSIS。在SSIS中添加连接时出现异常:

初始化提供程序时测试连接失败。 尝试加载Oracle客户端库时抛出BadImageFormatException。 当在32位Oracle客户端组件已安装的情况下以64位模式运行时, 将发生此问题。

我猜这是因为SSIS进程是32位的,不能使用64位的oracle驱动程序(我的主机是Win 7 64位)。

经过测试,我发现确实是这样。我们只需要为SSIS IDE安装32位驱动程序,但可以在运行DTSX包时使用64位驱动程序dtexec.exe(C:\Program Files\Microsoft SQL Server\100\DTS\Binn)。

因此,在64位机器上的DEVELOPMENT环境中,需要同时安装32位和64位客户端: 32位:用于在Visual Studio IDE中进行开发 64位:使用64位dtexec.exe版本在命令行中运行DTSX包(当我们在生产环境中运行时就是这种情况)

类似的讨论可以在这里找到。


相关链接:http://knol.google.com/k/accessing-oracle-from-64bit-sql-server-or-ssis# - Joseph

1

你如何将它连接到SSIS?下载后,我看到了一堆文件,包括adrci.exe、genezi.exe和uidrvci.exe。不清楚如何使这个驱动程序出现在SSIS导入包中。 - Sonic Soul

1

我使用了这个链接 配置 SSIS 2008 连接 Oracle,成功地让 VS 2012 使用 Oracle 11.2 instantclient 和 SSIS。所有的功劳归于作者 Jerry Dy。注意:唯一需要的注册表项是 ORACLE_HOME。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接