我有一个C#控制台应用程序,该应用程序计划将大数据从oracle导入到sql数据库。我倾向于从安装文件夹中使用oracle客户端dll,而不是将其安装在服务器上。我阅读了许多有关在安装文件夹中复制所需dll的现有SO解答。
https://jeremybranham.wordpress.com/2011/04/25/oracle-instant-client-with-odp-net/
该应用程序在未安装oracle客户端的Windows 10计算机上正常运行。但是在Windows Server 2008 R2上,它抛出错误,提示未找到OraOps12.dll。虽然我有可用的dll。我该怎么解决该问题?
答案 0 :(得分:1)
答案 1 :(得分:0)
我认为手动从Oracle Client复制DLL是一个坏主意。您可以提供Oracle.DataAccess.dll
的副本-其余所有内容都请您的客户安装适当的Oracle客户端,即版本和体系结构必须与Oracle.DataAccess.dll
相匹配。
或者使用ODP.NET托管驱动程序(Oracle.ManagedDataAccess.dll
),这是一个独立的DLL,不需要任何其他文件。
答案 2 :(得分:0)
最后,我可以解决这个问题,而无需在服务器上实际安装Oracle Client。我收到有关无法加载OraOps12.dll的错误,但最终我发现我丢失的dll是msvcr120.dll。该dll是Microsoft Visual C ++ Runtime。因此,现在,我在部署文件夹中关注了Oracle dll,并且该应用程序正在运行。无需更改配置。