C# 使用32位Oracle服务以64位模式运行
这个问题类似于 我解决了这个问题,但当我打开新的项目Wcf服务库时,我也遇到了同样的问题,我以前所做的所有这些更改对我都没有帮助 我尝试了我以前做过的每一件事,甚至更多,但都没有帮助 很重要的一点是,如果我在另一个项目中也这样做,所有的工作都很好,但是在WcfServiceLibrary中它不工作,在WcfServiceApplication中它也工作 我使用VS20124.5 Win7 64,我的Oracle clien 32,但在其他项目中这不是问题 也许是因为我不知道Wcf图书馆项目。 我刚创建了一个从数据库保存数据的服务,在连接到数据库时出错C# 使用32位Oracle服务以64位模式运行,c#,asp.net,oracle,C#,Asp.net,Oracle,这个问题类似于 我解决了这个问题,但当我打开新的项目Wcf服务库时,我也遇到了同样的问题,我以前所做的所有这些更改对我都没有帮助 我尝试了我以前做过的每一件事,甚至更多,但都没有帮助 很重要的一点是,如果我在另一个项目中也这样做,所有的工作都很好,但是在WcfServiceLibrary中它不工作,在WcfServiceApplication中它也工作 我使用VS20124.5 Win7 64,我的Oracle clien 32,但在其他项目中这不是问题 也许是因为我不知道Wcf图书馆项目。 我
Error: Attempt to load Oracle client libraries threw BadImageFormatException. This problem will occur when running in 64 bit mode with the 32 bit Oracle client components installed.
我的代码
using (OracleConnection con = new OracleConnection())
{
con.ConnectionString = "User Id=zxc;Password=zxc;Data Source=NXE";
con.Open();//here i get error
OracleCommand cmd = new OracleCommand();
cmd.Connection = con;
cmd.CommandText = "select * from " + Table;
int rowsUpdated = cmd.ExecuteNonQuery();
OracleDataReader reader = cmd.ExecuteReader();
String DataFromORL = "";
int row = 0;
while (reader.Read() && row < 50)
{
row++;
if (reader.HasRows)
{
DataFromORL += reader.GetInt32(0);
}
}
}
我也有同样的问题。
对我来说,通过执行以下操作,问题得到了解决。
在此之前,请检查您是否同时安装了32位和64位Oracle客户端,以使其在这两种环境中都可用
对我来说,得到这个错误的原因
错误:尝试加载Oracle客户端库引发BadImageFormatException。当以64位模式运行并安装了32位Oracle客户端组件时,会出现此问题 是因为环境变量只有一个安装位置,而它是32位安装位置,这就是错误的原因。在安装了32位Oracle客户端组件并以64位模式运行时,会出现此问题 所以,为了解决这个问题,我添加了64位安装位置,并重新启动了VisualStudio。如果它不起作用,请尝试重新启动系统,我们应该在安装Oracle客户端时指定的Oracle客户端安装位置中添加两个可用的bin目录 在我的系统中,位置如下:32位C:\app\client\\product\12.1.0\client\u 2\bin
64位C:\app\client\\product\12.1.0\client\u 1\bincon.Open line上的错误到底是什么?尝试加载Oracle客户端库引发了BadImageFormatException。在安装了32位Oracle客户端组件的情况下以64位模式运行时会出现此问题。请将构建平台目标从任何CPU更改为仅32位,然后查看这是否有帮助不,它没有帮助,