【问题标题】:How do I resolve the error ORA-06413: Connection not open?如何解决错误 ORA-06413:连接未打开?
【发布时间】:2020-05-16 05:18:04
【问题描述】:

我的本​​地环境VS2012

使用 Oracle 10g XE

Dim dbConn As New OleDbConnection

Dim dbComm As OleDbCommand

dbConn.ConnectionString = "Provider=msdaora;Data Source=XE;User ID=scott;Password=tiger"

dbConn.Open()

提示错误:ORA-06413:连接未打开。

已经检查过TNSNAMES.ora、SQLNET.ora、LISTENER.ora 都没有问题。

但是为什么会出现这个错误呢? :(

【问题讨论】:

  • 能否使用oracle bin目录下的sqlplus.exe进行连接。这应该会告诉您设置是否正确。
  • 不确定你的目录结构是什么,但我看到通过谷歌搜索vb social.msdn.microsoft.com/Forums/vstudio/en-US/…返回的这个错误写了很多这样的问题

标签: vb.net oracle


【解决方案1】:

错误是由路径名中的括号引起的。

可能你从 C:\program file (x86) 执行 VS2012...

解决方法:创建联结链接

步骤:

  1. from:命令行执行

    C:>mkLink /j "Program Files x86" "Program Files (x86)"
    

    然后

  2. 使用新路径(C:\program 文件)修复(或创建新的)快捷方式 x86...)

【讨论】:

  • 有效,但您需要在 #1 和 #2 之间添加“然后”。我首先得到的印象是你的 #1 和 #2 之间的“或”,就像你可以做一个或另一个一样。我很快发现这些不能独立或单独完成。
  • 太棒了!完美运行。
【解决方案2】:

我在这个问题上做了很多工作,我浪费了很多时间。显然,Visual Studio 中的 IIS Express 使用了 64 位的 oracle 提供程序。

解决这个技巧:

1) 我在我的 PC 上安装了 IIS (Windows 10) 使用 .NET 4.5 或更高版本

2) 我用 32 位目标编译了 Web API 应用程序。

3) 我在我的 IIS 上发布 Web 应用程序。

4) 在 IIS 上,我将启用应用程序 32 位设置为 true

【讨论】:

    【解决方案3】:

    我遇到了同样的问题,我解决了安装 Oracle 11g Express 的问题。之前,我删除了所有以前的 Oracle 客户端安装。我使用的是 Windows 7 64 位。

    【讨论】:

      【解决方案4】:

      创建bat文件启动excel 在 bat put 路径中,您可以调整以匹配您的文件夹

      启动 c:\progra~2\micros~1\Office14\Excel.exe

      当您启动 excel 时,只需打开宏并尝试 :)

      【讨论】:

      • 这不是关于如何在批处理脚本中启动 excel。请检查您的答案是否与问题相符。
      • 投票归零...如果 Excel 电子表格有 Oracle 连接,那么这就是解决方法。
      【解决方案5】:

      1.只需卸载您的 toad 或 oracle 2.在你的window驱动器上重新安装ex:(c/d/e) in new folder

      不要安装在程序文件中(x86) 它为我工作

      因为程序文件(x86)适用于 32 位应用程序...

      【讨论】:

        【解决方案6】:

        我在处理我的 Visual Studio 2013 项目时遇到了同样的问题。我能够在另一台机器上从 SVN 运行相同的项目,但它无法在我的机器上运行。我检查了连接字符串,可以在 Oracle 中成功测试连接,但它会从代码中抛出一个令人作呕的“ORA-06413:连接未打开”错误。

        我以这种方式修复了它 - 安装 Oracle 11g 客户端 -> 选择“管理员”作为安装类型。重新打开 Visual Studio,它就可以工作了。希望对您有所帮助!

        【讨论】:

          【解决方案7】:

          经过几天的搜索,我已经错误地解决了:

          错误原因:

          由于 oracle 保留字符“(”,)”导致此错误,并且在 Windows 64 位中有一个文件夹“Program Files (x86)”是创建问题。

          解决方案:

          在 Window Drive 路径上使用以下命令为“Program Files (x86)”创建一个链接文件夹。

          1).用管理员打开cmd。

          mklink /j "Program Files x86" "Program Files (x86)" 回车

          或访问链接

          download3k article

          2).open registry(with administrator)->Export Registry 总是在更改之前备份一个注册表文件。制作一个注册表文件的副本并处理副本。 在文本编辑器中打开注册表文件(复制)将“(x86)”替换为“x86”保存文件并将其导入注册表并重新启动计算机。

          现在“ORA-06413: Connection not open”错误消失了。

          如果您的问题得到解决,请评价此解决方案。 享受吧!

          【讨论】:

          • 应该明确说明在注册表中将 (x86) 更改为 86 的位置,但更好的是使用新路径简单地创建 Visual Studio 的快捷方式,就像在另一个答案中建议的那样,去编辑注册表,那里有很多很多地方需要更改,路径中有 (x86)。
          猜你喜欢
          • 2015-11-04
          • 1970-01-01
          • 2014-01-07
          • 2015-02-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2014-07-11
          • 1970-01-01
          相关资源
          最近更新 更多