上一篇 下一篇 |返回日志列表 64位系统上部署程序的过程发生Oracle数据库无法连接的问题以及解决的过程
来源:互联网 发布:java层次遍历二叉树 编辑:程序博客网 时间:2024/05/01 06:30
近段时间公司做了一个大项目,在部署到服务器上发现在程序中使用OracleConnect连接Oracle数据库可以打开并获取数据,但是如果在Vs.net 2005 IDE 的服务器资源管理-数据库连接中不能打开Oracle数据库,提示ORA-06413: 连接未打开,在项目中打开水晶报表(此水晶报表直接连接到Oracle数据库),提示找不到Oracle客户端和网络组件,需要8.1.7或更高版本。
先说明开发环境和服务器环境
1, 开发环境:
a) Windows xp sp3 32位系统
b) Vs.net 2005 , oracle client
2, AP服务器环境
a) Windows 2003 sp2 x64
b) Vs.net 2005 x64
c) Oracle client x64
3, DB服务器
a) Windows 2003 sp2 x64
b) Oracle 10g x64
把程序放上去后,发现无法自动通过水晶报表连接到Oracle数据库,提示需要更多信息(录入数据服务器名,数据库名,用户名和密码),当时怀疑是TNS的问题,检查已经安装好64位Oracle客户端的tnsnames.ora,没有问题,ASP.NET程序中通过OracleConnect访问数据库也没有问题,于是安装一个PLSQL Developer,安装完毕后发现无法通过PLSQL Developer 访问DB,经过检查32位的PLSQL Developer无法通过64位的Oracle client 访问64位的Oracle 10g,需要安装32位的客户端,安装32位客户端后,32位Oracle 客户端的Net Configuration Assistant一直不打不开,Enterprise Manager Console可以打开但一连接就出现 "ORA-06413:连接未打开"这个错误,PLSQL Developer 此时已经可以正确连接DB,进过检查发现时Oracle的一个BUG,因为Oracle的Net Service在解析连接的时候存在一个Bug,无法解析路径中包括的圆括号。而在64位系统上32位的ProgramFilesDir (x86)和CommonFilesDir (x86) 都默认会被安装到C:/Program Files (x86)这个目录下。
不知道如何修改默认的安装路径(安装程序会把一些文件自动安装到C:/Program Files (x86)这个目录下,虽然我在安装PLSQL Developer时,已经指定了安装路径),然后到网上搜索如何修改,找了半天,发现可以修改:
HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows/CurrentVersion
下的CommonFilesDir (x86)和ProgramFilesDir (x86),修改为指定的C:/Program Files x86目录后,立刻重新安装32位Oracle 客户端,安装完毕后,Net Configuration Assistant和Enterprise Manager Console正常使用。
检查vs2005的安装路径其IDE也被安装到了C:/Program Files (x86),于是立马卸载后,重新安装,在安装的时候选择自定义,然后检查每个需要安装子项的安装路径,发现水晶报表的共用组件还是被安装到了C:/Program Files (x86),而不是想要的C:/Program Files x86,于是发现可能需要修改注册表的其他地方。退出安装后,打开注册表与本地注册表对比检查,发现64位系统中多了一项HKEY_LOCAL_MACHINE/SOFTWARE/Wow6432Node,打开此项,发现里面有:
HKEY_LOCAL_MACHINE/SOFTWARE/Wow6432Node/Microsoft/Windows/CurrentVersion
在此现里面果然还有CommonFilesDir (x86)和ProgramFilesDir (x86)都是指向原来的C:/Program Files (x86),马上修改值为:C:/Program Files x86,重新安装vs 2005,经过紧张激动的等待后,迫不及待用vs2005打开项目,然后测“试服务器资源管理-数据库连接”连接DB服务器上的Oracle数据库,连接测试通过,接着打开水晶报表,打开数据库专家,新建连接到DB服务器的Oracle数据库,连接测试OK。
至此,长舒一口气,在vs2005中终于能成功的运行、调试项目,打开水晶报表时不在提示:“需要更多信息(录入数据服务器名,数据库名,用户名和密码)”,可以通过后台的ConnectionInfo指定,窃喜ing。。。。。。。。。。- 上一篇 下一篇 |返回日志列表 64位系统上部署程序的过程发生Oracle数据库无法连接的问题以及解决的过程
- 男生们必看:恋爱的七大死穴返回日志列表下一篇上一篇
- 上一篇下一篇的问题
- 无法登陆默认数据库的问题(解决了我上一篇博客的问题)
- 上一篇,下一篇过程代码
- Oracle数据库查询上一篇下一篇
- 关于新闻的上一篇,下一篇
- 显示上一篇下一篇的代码
- 实现上一篇,下一篇的效果
- c#程序在客户机器上无法连接SQLSERVER的解决过程
- 男人怎样坏女人才会爱返回日志列表下一篇上一篇
- win2008(64位系统)上部署.net程序连接oracle数据库注意事项
- PLSQL Developer连接不上64位系统下安装的64位Oracle的解决办法
- csdn上的第一篇日志
- java连接oracle数据库调用返回列表的oracle存储过程
- 解决上一篇文章Python-socket-ssl出现的问题
- 上一篇的思考
- 上一篇的后记
- 一个使用JS提交表单并传递参数的问题
- Opencore介绍
- CSS开头空两格
- 网站黑白
- WinForm下载
- 上一篇 下一篇 |返回日志列表 64位系统上部署程序的过程发生Oracle数据库无法连接的问题以及解决的过程
- jquery 取值与验证
- 文件下载(一)
- 三种境界
- 都是Hibernate的hbm文件惹的祸
- 提取Microsoft.ReportViewer.ProcessingObjectModel 的一段脚本
- WINCE下telnet,FTP及网络共享的使用方法
- oracle 同时更新(update)多个字段多个值
- Struts的ActionForm中不同类型属性的使用方法总结