
本机环境:64位win7,安装了64位的oracle桌面类
服务器环境:64位windows server 2008,64位oracle服务器端
问题:本机用sql developer连数据库没有问题,winform程序连接也没有问题,但是web程序连接oracle失败,报错:“尝试加载 Oracle 客户端库时引发 BadImageFormatException。如果在安装 32 位 Oracle 客户端组件的情况下以 64 位模式运行,将出现此问题。“
解决过程:在网上查找原因,说是因为VS的webDe.webServer.exe 是一个32位的进程,所以连不上64位数据库,解决方法提了很多,包括把项目的属性里的生成选项里的目标平台:改为x86,web项里的服务器改成iis不使用vs自带的web deleloper ment 服务,修改path环境变量等,但是都没管用。
最终的解决办法:安装32位oracle客户端(win32_11gR2_client.zip),但是这样一来winform程序又连不上数据库了,得把winform程序的项目属性里生成选项的目标平台改成x86,这样就都行了。
1.找到tnsname.ora
此文件在oracle安装目录文件夹/(net80/admin)/admin/
2.打开该文件并输入如下:(database数据库名,ipaddress:ip地址,1521是端口),如我的目录是
d:\devsuitehome_2\network\admin
,因为oracle版本不同9i可能是d:\devsuitehome_2\net80\admin。
database
=
(description
=
(address_list
=
(address
=
(protocol
=
tcp)(host
=
ipaddress)(port
=
1521))
)
(connect_data
=
(service_name
=
database_name)
)
)
3.输入上列文件并且保存后在dos模式下输入
sqlplus
username/password@databasename
sqlplus
打开sqlplus工具
username/password@databasenameme
用户名/密码@数据库名
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)