此外,“Instant Client”和“Oracle客户端工具”之间有什么区别?有太多晦涩难懂的术语,让人感到困惑。
附注:从阅读http://www.oracle.com/technetwork/topics/dotnet/index-085163.html中,你会认为这就是我想要的,但下载只有一个似乎什么也做不了的install.bat!这是我迄今尝试过的“解决方案”的典型特征。
我所做的是从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包(当我们在生产环境中运行时就是这种情况)
类似的讨论可以在这里找到。
我不确定安装客户端和Oracle客户端工具之间的区别。我一直使用后者。下面的链接提供了10g客户端工具的下载(在Oracle数据库10g客户端发布2下),这应该是您需要从SSIS获取连接性的内容。
http://www.oracle.com/technetwork/database/10204-winx64-vista-win2k8-082253.html
我使用了这个链接 配置 SSIS 2008 连接 Oracle,成功地让 VS 2012 使用 Oracle 11.2 instantclient 和 SSIS。所有的功劳归于作者 Jerry Dy。注意:唯一需要的注册表项是 ORACLE_HOME。