C#连接oracle数据库

qq_20153675 2014-08-28 05:11:34
在192.168.1.5服务器上用 <add name="ORACLE_DBLink" connectionString="Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.3)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=v3x)));User Id=V3XUSER;Password=123456;" />连接192.168.1.3服务器上的oracle数据库,报错:尝试加载 Oracle 客户端库时引发 BadImageFormatException。如果在安装 32 位 Oracle 客户端组件的情况下以 64 位模式运行,将出现此问题。


192.168.1.5服务器上的oracle客户端64位的、操作系统64位的window2008、vs2010是64位的,192.168.1.3服务器的操作系统是Linux的,oracle是64位的。在这样的情况下为什么还报这样的错呢?
...全文
211 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
於黾 2014-08-29
  • 打赏
  • 举报
回复
不会完全覆盖,会覆盖部分文件,所以安装了32位后,原来的可能就不能用了 所以最好还是先把64位的卸载掉
qq_20153675 2014-08-29
  • 打赏
  • 举报
回复
直接在安装一个32位的客户端会把原来64位的覆盖吗?
於黾 2014-08-29
  • 打赏
  • 举报
回复
平台里选择x86之后,然后就报(ORA-06413: 连接未打开)这样的的错误 这说明dll找到了,但是连接客户端没有连上. 安装32位客户端试试
qq_20153675 2014-08-29
  • 打赏
  • 举报
回复
这个dll是知vs程序生成文件吧?但是我的vs2010明明是64位的,然后oracle客户端也是64位的。
qq_20153675 2014-08-29
  • 打赏
  • 举报
回复
我是过在项目属性,生成,平台里选择x86之后,然后就报(ORA-06413: 连接未打开)这样的的错误,然后我就在Web里把服务器改成使用本地IIs Web服务器,结果调试dome跟踪不了。oracle数据库还是连不上。
於黾 2014-08-29
  • 打赏
  • 举报
回复
客户端和dll是两个概念 dll是通过数据库客户端去连接数据库的服务端,并不能直接连接数据库 所以安装了dll,也要同时安装客户端 如果你的dll是32位,你需要将程序按32位编译(在项目属性,生成,平台里选择x86) 对应的数据库客户端可能也需要安装32位客户端. 你先试试把工程改成32位看好使不好使吧.
qq_20153675 2014-08-29
  • 打赏
  • 举报
回复
是这个连接字符串看出来是32位的吗?但是我安装的客户端确实是64位的呀,如果是32位,我现在应该怎么改呀?
於黾 2014-08-28
  • 打赏
  • 举报
回复
目测你连接oracle用的是adodb,这个dll是32位的
於黾 2014-08-28
  • 打赏
  • 举报
回复
引用的oracle的dll是32位的.

110,500

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧