在64位机子用.net连接oracle

一一一一 2015-06-01 10:48:24
System.InvalidOperationException: 尝试加载 Oracle 客户端库时引发 BadImageFormatException。如果在安装 32 位 Oracle 客户端组件的情况下以 64 位模式运行,将出现此问题。 ---> System.BadImageFormatException: 试图加载格式不正确的程序。 (异常来自 HRESULT:0x8007000B)
在 System.Data.Common.UnsafeNativeMethods.OCILobCopy2(IntPtr svchp, IntPtr errhp, IntPtr dst_locp, IntPtr src_locp, UInt64 amount, UInt64 dst_offset, UInt64 src_offset)
在 System.Data.OracleClient.OCI.DetermineClientVersion()
--- 内部异常堆栈跟踪的结尾 ---
在 System.Data.OracleClient.OCI.DetermineClientVersion()
在 System.Data.OracleClient.OracleInternalConnection.OpenOnLocalTransaction(String userName, String password, String serverName, Boolean integratedSecurity, Boolean unicode, Boolean omitOracleConnectionName)
在 System.Data.OracleClient.OracleInternalConnection..ctor(OracleConnectionString connectionOptions)
在 System.Data.OracleClient.OracleConnectionFactory.CreateConnection(DbConnectionOptions options, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningObject)
在 System.Data.ProviderBase.DbConnectionFactory.CreatePooledConnection(DbConnection owningConnection, DbConnectionPool pool, DbConnectionOptions options)
在 System.Data.ProviderBase.DbConnectionPool.CreateObject(DbConnection owningObject)
在 System.Data.ProviderBase.DbConnectionPool.UserCreateRequest(DbConnection owningObject)
在 System.Data.ProviderBase.DbConnectionPool.GetConnection(DbConnection owningObject)
在 System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection)
在 System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory)
在 System.Data.OracleClient.OracleConnection.Open()


==============================
连接串是这样的
Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=localhost)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=test)));User ID=sa;Password=sa;Unicode=True;


网上找了将解决方案和项目生成的目标平台设为X86也没用
在32位机器上没问题
...全文
171 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
一一一一 2015-06-04
  • 打赏
  • 举报
回复
解决了 按这篇文章http://www.cnblogs.com/joey0210/archive/2012/08/15/2640248.html 操作 我是卸载后重新安装,然后安装win32_11gR2_client.zip 就可以了
binsweet 2015-06-04
  • 打赏
  • 举报
回复
asp.net 目标平台AnyCPU即可,在32位机子上编译,64位机子上运行,没有发现问题,不过C#操作注册表需要区分32位和64位
苦逼de小Coder 2015-06-02
  • 打赏
  • 举报
回复
在你另一个帖子里给出我的解决方案了,目标平台AnyCPU即可, 还有另一个解决方案。。。你再安一个32的oracle客户端即可。。。

17,140

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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