我的应用程序在32位模式下运行。它尝试使用oracle客户端连接Oracle DB。Oracle客户端在64位内运行。
string connectionString = @"Data Source=" + oracleDBName + ";User id=" + oracleDBUserId +";Password=" + oracleDBPwd +";";
OracleConnection con = new OracleConnection(connectionString);
try
{
con.Open();
if (con != null)
{
con.Open();
}
return true;
}
catch (OracleException)
{
return false;
}当我打电话时,我会遇到目标调用异常
con.Open();
原因是,由于应用程序在32位模式下运行,因此无法加载64位dll。
我无法更改应用程序模式。我也无法安装32位Oracle客户端。如何解决这个问题
提前谢谢
发布于 2012-08-27 17:14:04
.NET的Oracle驱动程序“需要”来自Oracle的本地客户端。(它不是Java,在这里存在瘦客户机)
尝试即时客户端,它不需要安装。http://www.oracle.com/technetwork/topics/winsoft-085727.html
此外,您还可以尝试ODBC .NET驱动程序,但是可以配置ODBC来使用来自微软的Oracle驱动程序(大多数windows安装都有Microsoft的odbc驱动程序,可以直接用于oracle )。再一次:
1)对于32位应用程序,需要32位版本的ODBC
2) oracle即时客户端应该在搜索路径中可用。
在Windows 64位中,有两个版本的ODBC管理面板,用于32位和64位应用程序。要运行32b版本,请执行C:\Windows\SysWOW64 64\odbcad32.exe。
https://stackoverflow.com/questions/12145269
复制相似问题