ORA-06413连接未打开的错误的原因和解决方法

转自:http://liaozenghui.com/asp.net/2015/01/21/ORA-06413%E8%BF%9E%E6%8E%A5%E6%9C%AA%E6%89%93%E5%BC%80%E7%9A%84%E9%94%99%E8%AF%AF.html

有个网站程序,在64位机子上可以连接mssql,连不了oracle。把程序放在32位的机子上,mssql和oracle都可以连接。那么问题来了。

详细描述:

启动程序,查询的时候,程序报错ORA-06413连接未打

遇到这样的提示,都无语了。讲了等于什么都没讲。

解决过程: 省略,很操蛋的我没能解决。最后请求大神指导。ps.网络上说的什么’)’的原因这边无效。

错误原因

先检查下,连接Oracle是不是使用的dll是System.Data.OraceClient,如果是,那么问题就在这儿了。(如果不是,对不起,这篇文章帮不了你。)因为System.Data.OraceClient是非托管的,最终调用的是oracle客户端的oci.dll来连接数据库的。而oci.dll有分32位和64位。

最好的解决方法是把System.Data.OraceClient改为odp(用nuget安装),因为odp是托管的,不需要调用oci.dll来连接Oracle。

但是如果没法改的话(比如我,用别人的框架, 没法改),那么参考下面的两个解决方案。

解决方案一

代码运行,默认用的是IIS Express,这货没法设置。改为IIS本地来运行开发。

  1. vs右击启动项,属性,web,然后如图
ORA-06413连接未打开的错误的原因和解决方法 - wybshyy - wybshyy的博客
 
  1. 在IIS中创建网站程序,自己定义端口号,然后吧启动地址写入到上图的那个输入框。
  2. 在IIS中,进入应用进程池,右击新建的那个应用进程池,选中高级属性,设置如图

 

这样就可以了,在vs中调试,就不会报错了。

这个方法我试过,是可以的,但是大神也说了,这方法毕竟不是很好的。最好的就是替换成odp。

解决方案二

这个方法我试过,没什么效果,但还是写出来。因为可能是因为oci.dll版本的问题,所以下载这个文件:http://pan.baidu.com/s/1i39ruDJ

解压后,把oci的路径放在环境变量中。这个是oracle的客户端。 ps.我马马虎虎的试过了,没用,你看着办。

2015-1-22补充: 方法二需要重启,重启之后就能用了。


  • 5
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
java.sql.SQLException: ORA-01109: 数据库打开ORA-01109是一个Oracle数据库错误代码,表示数据库无法在当前状态下打开。这个错误通常发生在以下几种情况下: 1. 数据库实例并启动: 在使用Java连接Oracle数据库时,首先需要确保数据库实例已经启动。如果数据库实例没有运行,则会导致ORA-01109错误。请检查数据库实例是否已经启动,并尝试重新连接。 2. 数据库正在进行恢复操作: 如果数据库正在进行恢复操作,那么在恢复操作完成之前是无法打开数据库的。请等待数据库恢复完成后再进行连接。 3. 数据库文件损坏: 可能由于文件系统错误或其他原因,数据库文件损坏导致无法打开数据库。在这种情况下,可能需要使用Oracle数据库的恢复工具来修复数据库文件。 4. 数据库处于不可恢复的状态: 如果数据库处于不可恢复的状态,那么无法打开数据库。可能需要进行数据库的恢复操作来解决此问题。 解决该问题的方法包括: 1. 确保数据库实例已经启动。 2. 确保数据库没有进行恢复操作,并等待恢复操作完成。 3. 检查数据库文件是否损坏,并通过数据库恢复工具修复损坏的文件。 4. 如果数据库处于不可恢复的状态,可以尝试进行数据库的恢复操作。 总之,ORA-01109错误是表示数据库无法在当前状态下打开错误。要解决这个问题,需要检查数据库实例状态,修复可能的文件损坏,并确保数据库处于可恢复的状态。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值