oracle 11g r2 64连接vs2015 一直调用引用报错

连接字符串 oracle.access.dll版本和数据库一样,就是一直报这个错,请问一下怎么解决
用户代码未处理 System.BadImageFormatException
FileName=Oracle.DataAccess, Version=2.112.1.0, Culture=neutral, PublicKeyToken=89b483f429c47342
FusionLog==== 预绑定状态信息 ===
日志: DisplayName = Oracle.DataAccess, Version=2.112.1.0, Culture=neutral, PublicKeyToken=89b483f429c47342
(Fully-specified)
日志: Appbase = file:///C:/Users/Administrator/Desktop/C#短信猫操作0615/DotNet.UIDemo/bin/Debug/
日志: 初始 PrivatePath = NULL

调用程序集: DotNet.Common, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null。

日志: 此绑定从 default 加载上下文开始。
日志: 正在使用应用程序配置文件: C:\Users\Administrator\Desktop\C#短信猫操作0615\DotNet.UIDemo\bin\Debug\DotNet.UIDemo.vshost.exe.Config
日志: 使用主机配置文件:
日志: 使用 C:\Windows\Microsoft.NET\Framework\v4.0.30319\config\machine.config 的计算机配置文件。
日志: 策略后引用: Oracle.DataAccess, Version=2.112.1.0, Culture=neutral, PublicKeyToken=89b483f429c47342
日志: 尝试下载新的 URL file:///C:/Users/Administrator/Desktop/C#短信猫操作0615/DotNet.UIDemo/bin/Debug/Oracle.DataAccess.DLL。
错误: 未能完成程序集的安装(hr = 0x8007000b)。探测终止。

HResult=-2147024885
Message=未能加载文件或程序集“Oracle.DataAccess, Version=2.112.1.0, Culture=neutral, PublicKeyToken=89b483f429c47342”或它的某一个依赖项。试图加载格式不正确的程序。
Source=DotNet.Common
StackTrace:
在 DotNet.Common.OracleHelper.ExecuteReader(String sql)
在 DotNet.Common.GetMsg.GetMsgColliery(String getDate) 位置 C:\Users\Administrator\Desktop\C#短信猫操作0615\DotNet.Common\GetMsg.cs:行号 48
在 DotNet.UIDemo.FormUIDemo.SendMessage(String sendTime) 位置 C:\Users\Administrator\Desktop\C#短信猫操作0615\DotNet.UIDemo\FormUIDemo.cs:行号 623
在 System.Runtime.Remoting.Messaging.StackBuilderSink._PrivateProcessMessage(IntPtr md, Object[] args, Object server, Object[]& outArgs)
在 System.Runtime.Remoting.Messaging.StackBuilderSink.AsyncProcessMessage(IMessage msg, IMessageSink replySink)
InnerException:

5个回答

点击项目右键,然后跟着图片流程走,你还是把字符串改成你自己的吧。图片说明

qq_23126581
已退出 回复studyhelpme: http://www.ithao123.cn/content-10325357.html这个可以解决你的
3 年多之前 回复
studyhelpme
studyhelpme 之前用的32位数据库和32引用 然后现在换成了64位的数据库,但用了安装后里面的64引用2.112.1.0报第一个异常,然后我试这用32位的2.112.10报错却是类型初始值设定引发异常,之前连接成功用的32数据库的引用好像就是32位的112..2.1.0
3 年多之前 回复
studyhelpme
studyhelpme 谢谢你
3 年多之前 回复
studyhelpme
studyhelpme 没有啊,看了很多网友的都不行,试了很多办法,应该是引用的问题,数据库是64位的11.2.0.1.0
3 年多之前 回复
qq_23126581
已退出 回复studyhelpme: 解决了吗?
3 年多之前 回复
studyhelpme
studyhelpme 我把64位的引用换成了32 111.2.1.0的oracle.access.dll就好了,不过出现的新的异常Oracle.DataAccess.Client.OracleConnection”的类型初始值设定项引发异常。好的谢谢我去改回来
3 年多之前 回复

连接字符串确保正确了

studyhelpme
studyhelpme 还是说host改成ip的这个连接字符串有问题吗
3 年多之前 回复
studyhelpme
studyhelpme <add key="OrcConnectionString" value="Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=mybook)(PORT=1521)))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=oracle)));User Id=fuelmis;Password=fuelmis_pass;"/>
3 年多之前 回复

string connString = "User ID=xxxx;Password=xxxxx;Data Source=(DESCRIPTION = (ADDRESS_LIST= (ADDRESS = (PROTOCOL = TCP)(HOST = mybook)(PORT = 1521)) (CONNECT_DATA = (SERVICE_NAME = " + database + ")))";

studyhelpme
studyhelpme 请问一下,那个引用是在那个数据库app\...\odp.net 那个引用对吗 我感觉还是引用出了问题,之前用32位数据,现在换到了64位数据库
3 年多之前 回复
studyhelpme
studyhelpme 大神不行,在掉用这个方法就直接弹这个错,哎
3 年多之前 回复
studyhelpme
studyhelpme 直接在vs类获取吗我试试谢谢你
3 年多之前 回复

图片说明还是不行啊

studyhelpme
studyhelpme 虽然还没解决,但很谢谢你,等老大回来我去找他问问看,结帖啦
3 年多之前 回复
studyhelpme
studyhelpme 什么鬼
3 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问