之前使用codeSmith7.0.批量生成代码.连接oracle数据库时,报错.
Attempt to load Oracle client libraries threw BadImageFormatException. This problem will occur when running in 64 bit mode with the 32 bit Oracle client components installed.
大意是指当前客户端与服务器客户端位数不匹配.一个是32位,一个是64位.所以连接失败.
简单说明下原因:
错误原因是原来本机上所安装的Oracle客户端是32位,所以编译的程序所用的也是Oracle客户端32位的,从而导致兼容问题。
实际上,codeSmith使用的oracle连接,就是我们本地的客户端连接.所使用的也就是oci.dll.我们只要让程序能够找到64位的oci.dll就可以了.
方法如下:下载64位客户端(50M).这里给个地址:http://download.youkuaiyun.com/detail/csdn1152789046/9607411
1.下载后解压.(记住解压后的文件路径)
2. 在系统的环境变量PATH中加入以上路径。
3.之后再运行程序,程序会依照PATH路径寻找oci.dll,如果遇到32位的oci.dll会自动略过,找到64位的oci.dll就能连接上数据库了。
4.打开codeSmith.就可以成功连接数据库了