【问题标题】:Tns protocol adapter error with Oracle and ODACOracle 和 ODAC 的 Tns 协议适配器错误
【发布时间】:2016-03-02 19:39:40
【问题描述】:

我使用的是 Oracle 11g express edition。尝试连接时出现错误

SQLPLUS / AS SYSDBA

在命令窗口中。 错误是:TNS 协议适配器错误。

tnsping tns_entry_name

消息:使用的参数文件: C:\oracle\app\oracle\product\11.

TNS-03505:解析名称失败

我使用的是 windows XP,Oracle 服务正在运行,防火墙已关闭。 我可以通过 sqldeveloper 连接,但不能通过 sql plus。

请帮助大家,如果您需要任何其他信息,请回复。 非常感谢。

编辑:tnsnames.ora 文件

XE =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = XE)
    )
  )

EXTPROC_CONNECTION_DATA =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
    )
    (CONNECT_DATA =
      (SID = PLSExtProc)
      (PRESENTATION = RO)
    )
  )

ORACLR_CONNECTION_DATA = 
  (DESCRIPTION = 
    (ADDRESS_LIST = 
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1)) 
    ) 
    (CONNECT_DATA = 
      (SID = CLRExtProc) 
      (PRESENTATION = RO) 
    ) 
  ) 

EDIT2:使用 ODAC 11.2 第 5 版取消安装 Oracle 开发人员工具。一切恢复正常。我可以通过 sqlplus 连接。 但是我想通过 .NET 连接,ODTwithODAC 11.2r5 是否与 oracle 11g express 不兼容。请帮忙。

EDIT3:正如 cmets 所说,为了将 ODT 与 ODAC 11.2 一起使用,我是否还需要安装 Oracle Client 或其他方式。请推荐 非常感谢。

【问题讨论】:

  • 检查tnsnames.ora文件,将主机名和服务名与你在sql developer中输入的名称进行比较。
  • @Jasti 同样...我使用默认 XE 作为 SID 和服务名称
  • 你能把你的 sql 开发者连接和 tnsnames.ora 文件的屏幕截图贴出来
  • @Jasti 感谢您的快速回复。我怀疑由于我的声誉点,我不会被允许发布图片,但我可以发布文字。
  • @Jasti 我刚刚卸载了带有 ODAC 11.2 第 5 版的 Oracle 开发人员工具,现在我可以通过 SQLPLUS 进行连接了。你知道为什么会这样吗? Oracle 工具 Dev 是否​​与 11g express 版本不兼容。谢谢

标签: oracle oracle11g


【解决方案1】:

我怀疑通过安装 Oracle 开发人员工具,您在 oracle 数据库旁边安装了一个 oracle 客户端。 windows PATH 变量可能首先列出此客户端安装的 bin 目录,而不是数据库 bin 目录。这样您就可以使用该 sqlplus 而不是您的数据库之一。如果是这种情况,您必须在尝试登录时指定正确的连接标识符。例如:

sqlplus /@//localhost:1521/XE as sysdba;

或调整 windows PATH 以首先列出数据库 bin 并重新启动命令提示符。

【讨论】:

  • 感谢您的回答,我通过安装xcopy客户端解决了这个问题,因为express版本没有home路径。所以我安装了带有 xcopy 客户端的 Oracle Developer 工具,我从以下位置下载:oracle.com/technetwork/database/windows/downloads/… 它就像带有 Xcopy 部署的 Oracle 11g ODAC,它允许您通过复制几个 DLL 来部署 Oracle Instant Client 和 ODP.Net 驱动程序注册他们。这不需要完整的 Oracle 客户端安装。
【解决方案2】:

我通过安装 xcopy 客户端解决了这个问题,因为 express 版本没有主路径。 因此,我使用从以下位置下载的 xcopy 客户端安装了 Oracle Developer 工具: HERE

它类似于带有 Xcopy 部署的 Oracle 11g ODAC,它允许您通过复制几个 DLL 并注册它们来部署 Oracle Instant Client 和 ODP.Net 驱动程序。这不需要完整的 Oracle 客户端安装。 感谢@Jasti 通过您宝贵的 cmets 将我带入正确的方向

【讨论】:

    【解决方案3】:

    一个人能做的最好的事情就是去

    c:>\regedit ->软件->Oracle->

    更改Oracle home/base ..这是我为解决问题所做的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-06
      • 2023-03-25
      相关资源
      最近更新 更多