C#使用SystemDataOracleClient连接Oracle数据库。之前在WinXP上正常运行的程序移植到Windows 2008 x64上之后就连不上数据库了,错误信息如下:
启动database2sharp工具时提示:
数据连接不成功,请检查该数据库是否已启动尝试加载oracle客户端时引发BadImageFormatException如果在安装32位Oracle客户端组件的情况下以64位模式运行,将出现此问题。
错误原因是原来WinXP机子上所安装的OracleInstantClient是32位,所以编译的程序所用的OracleClient也是32位的,从而导致兼容问题。当然,如果在64位 *** 作系统上重新安装64位的Oracle客户端再重新编译程序也是能解决问题的。这里我们介绍一种简单的方法来移植程序。
实际上,SystemDataOracleClient所指向的是PATH环境变量下的ocidll。因此,我们只要让程序能够找到64位的ocidll就可以了。方法如下:
1 下载instantclient-basic-win-x86-64-111070zip,并解压,如C:\instantclient-basic-win-x86-64-111。
2 在系统的环境变量PATH中加入以上路径。
之后再运行程序,程序会依照PATH路径寻找ocidll,如果遇到32位的ocidll会自动略过,找到64位的ocidll就能连接上数据库了。
找到安装目录下的plsqldevexe 文件,一般路径为C:\Program Files\PLSQL Developer\plsqldevexe ,右键属性,选择第二栏,兼容性,将“已兼容模式运行这个程序”前面的勾勾上,选择 Windows XP(service pack3),应用,确定,再重新运行plsql应该就不会出现问题了,但愿对你有帮助。
oracle11g 32位client客户端下载地址:网页链接,下载11g
Release 2 Client,具体 *** 作步骤如下:
1、解压
2、运行setupexe
3、安装:①选择管理员类型
②字体选择简体中文
③选择安装目录,默认即可
④这步就是自动添加环境变量,如果系统环境变量中PATH值超长会报错,需手动去删除一些没用的环境变量。
⑤安装产品清单等,检查是否有程序残留,如果报错,则是因为有之前安装的版本没用删除干净,建议将之前安装的文件删除干净,注意查看C:\Program
Files目录下检查是否有oracle目录,如果有也要删除,这是之前安装残留的产品清单信息。
⑥点击下一步
⑦安装完成
4、配置数据库
①在开始所有程序中找到安装的oracle目录,点击Net Manager
②点击服务命名,然后点击左方的“+”号,添加新的服务
③给添加的服务命名
④选择TCP/IP(Internet协议)
⑤输入相应的主机名和端口号,端口号一般默认即可
⑥输入欲连接oracle数据库的SID
⑦点击测试
⑧点击更改登录
⑨输入数据库的用户名和密码,点击确定后,再点击测试,连接成功则OK,安装完成。
使用Oracle自带的Universal Installer卸载存在问题: 不干净,不完全,还有一些注册表残留,会影响到后来的安装。 所以,推荐使用手工卸载Oracle。
1win+R->servicesmsc,关闭oracle所有的服务。 使用OUI(Oracle Universal Installer)卸载Oracle软件。
“开始”->“程序”->“Oracle-OraDb110g_home1|Oracle installation product|Universal installer
2 打开注册表win+R->regedit。打开路径: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ 删除该路径下的所有以oracle开始的服务名称,这个键是标识Oracle在windows下注册的各种服务!
3 打开注册表,找到路径: HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE 删除该oracle目录,该目录下注册着Oracle数据库的软件安装信息。
4 删除注册的oracle事件日志,打开注册表 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\Application 删除注册表的以oracle开头的所有项目。
5 删除环境变量path中关于oracle的内容。 鼠标右键右单击“我的电脑-->属性-->高级-->环境变量-->PATH 变量。 删除Oracle在该值中的内容。注意:path中记录着一堆 *** 作系统的目录,在windows中各个目录之间使用分号(;)隔开的,删除时注意。 建议:删除PATH环境变量中关于Oracle的值时,将该值全部拷贝到文本编辑器中,找到对应的Oracle的值,删除后,再拷贝修改的串,粘贴到PATH环境变量中,这样相对而言比较安全。
6 重新启动 *** 作系统。
7 重启 *** 作系统后各种Oracle相关的进程都不会加载了。这时删除Oracle_Home下的所有数据。(Oracle_Home指Oracle程序的安装目录)
8 删除C:\Program Files下oracle目录。 (该目录视Oracle安装所在路径而定)
9 删除开始菜单下oracle项,如: C:\Documents and Settings\All Users\「开始」菜单\程序\Oracle - Ora10g 不同的安装这个目录稍有不同。 如果不删除开始菜单下的Oracle相关菜单目录,没关系,这个不影响再次安装Oracle当再次安装Oracle时,该菜单会被替换。
至此,Windows平台下Oracle就彻底完全卸载了。
以上就是关于如何在安装32位Oracle客户端组件的情况下以64位模式运行全部的内容,包括:如何在安装32位Oracle客户端组件的情况下以64位模式运行、win7怎样安装oracle客户端、求win7 64位系统oracle客户端下载地址,可用的可以加分等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)