今天使用Silverlight测试一个连接oracle的项目,没想到打开数据库连接时报错,报错如下:
尝试加载 Oracle 客户端库时引发 BadImageFormatException。如果在安装 32 位 Oracle 客户端组件的情况下以 64 位模式运... ...
我的机器是64位win8.1,visual studio 2013,64位oracle 11.2.0,之前进行过测试,连接数据库一切正常,怎么今天又出现这个问题了呢?
上网查了一下,原因是:
VS自带的WebServer只有32位的,你只能以32位运行,即使你的VS里面编译目标是64位的,
注意:发布到IIS,可以以64位运行,你需要安装64位的oracle连接客户端。如果没有,你的程序必须在VS里面编译成x86
原来是Visual Studio自带的IIS Express是个32位版本,将.WEB项目的属性设置IIS为本机IIS(注意,修改该属性需要以管理员身份运行Visual Studio),修改后再运行,一切OK。