SQL 未找到 Oracle 客户端和网络组件

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/9002560/
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

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-09-01 14:08:12  来源:igfitidea点击:

Oracle client and networking components were not found

sqloraclessis

提问by Bhaskara varma Dandu

I created SSIS will do task like get data from oracle to sql server.i run ssis package run in my local system.it is working fine but i deployed ssis package in remote system and trying access from sql procedure. I'm getting error like below.

我创建的 SSIS 将执行诸如从 oracle 获取数据到 sql server 之类的任务。我在本地系统中运行 ssis 包。它工作正常,但我在远程系统中部署了 ssis 包并尝试从 sql 过程访问。我收到如下错误。

Oracle client and networking components were not found. These components are supplied by Oracle Corporation and are part of the Oracle Version on 7.3.3 or later client software installation.

未找到 Oracle 客户端和网络组件。这些组件由 Oracle Corporation 提供,是 7.3.3 或更高版本客户端软件安装的 Oracle 版本的一部分。

Please let know if any solution there?

请告知是否有任何解决方案?

回答by Ed Harper

Simplest solution: The Oracle client is not installed on the remote server where the SSIS package is being executed.

最简单的解决方案:在执行 SSIS 包的远程服务器上没有安装 Oracle 客户端。

Slightly less simple solution: The Oracle client is installed on the remote server, but in the wrong bit-count for the SSIS installation. For example, if the 64-bit Oracle client is installed but SSIS is being executed with the 32-bit dtexecexecutable, SSIS will not be able to find the Oracle client. The solution in this case would be to install the 32-bit Oracle client side-by-side with the 64-bit client.

稍微不那么简单的解决方案:Oracle 客户端安装在远程服务器上,但 SSIS 安装的位计数错误。例如,如果安装了 64 位 Oracle 客户端,但正在使用 32 位dtexec可执行文件执行 SSIS,则 SSIS 将无法找到 Oracle 客户端。这种情况下的解决方案是将 32 位 Oracle 客户端与 64 位客户端并行安装。

回答by user6290708

Technology used: Windows 7, UFT 32 bit, Data Source ODBC pointing out to 32 bit C:\Windows\System32\odbcad32.exe, Oracle client with both versions installed 32 bit and 64 bit.

使用的技术:Windows 7、UFT 32 位、数据源 ODBC 指向 32 位C:\Windows\System32\odbcad32.exe、安装了 32 位和 64 位两个版本的 Oracle 客户端。

What worked for me:

什么对我有用:

1.Start -> search for Edit the system environment variables
2.System Variables -> Edit Path
3.Place the path for Oracle client 32 bitin front of the path for Oracle Client 64 bit.

Edit the system environment variables
1.Start -> search for 2.System Variables -> 3.Place Edit Path
for 的路径Oracle client 32 bit在路径的前面Oracle Client 64 bit

Ex:

前任:

C:\APP\ORACLE\product.2.0\client_32\bin;C:\APP\ORACLE\product.2.0\client_64\bin

回答by user3135678

1.Go to My Computer Properties
2.Then click on Advance setting.
3.Go to Environment variable
4.Set the path to

1.转到我的电脑属性
2.然后单击高级设置。
3.转到环境变量
4.设置路径

 F:\oracle\product.2.0\db_2\perl.8.3\lib\MSWin32-x86;F:\oracle\product.2.0\db_2\perl.8.3\lib;F:\oracle\product.2.0\db_2\perl.8.3\lib\MSWin32-x86;F:\oracle\product.2.0\db_2\perl\site.8.3;F:\oracle\product.2.0\db_2\perl\site.8.3\lib;F:\oracle\product.2.0\db_2\sysman\admin\scripts;

change your drive and folder depending on your requirement...

根据您的要求更改驱动器和文件夹...

回答by Luis M. Crespo

After you install Oracle Client components on the remote server, restart SQL Server Agent from the PC Management Console or directly from Sql Server Management Studio. This will allow the service to load correctly the path to the Oracle components. Otherwise your package will work on design time but fail on run time.

在远程服务器上安装 Oracle 客户端组件后,从 PC 管理控制台或直接从 Sql Server Management Studio 重新启动 SQL Server 代理。这将允许服务正确加载 Oracle 组件的路径。否则你的包将在设计时工作但在运行时失败。

回答by arnehehe

In my case this was because a file named ociw32.dllhad been placed in c:\windows\system32. This is however only allowed to exist in c:\oracle\11.2.0.3\bin.

就我而言,这是因为名为ociw32.dll的文件已放置在c:\windows\system32 中。然而,这只允许存在于c:\oracle\11.2.0.3\bin 中

Deleting the file from system32, which had been placed there by an installation of Crystal Reports, fixed this issue

从 system32 中删除文件,该文件已通过安装 Crystal Reports 放置在那里,修复了此问题