当前位置: 首页 > 知识库问答 >
问题:

JAVAsql。SQLException:ORA-12505,TNS:listener目前不知道连接描述符中给出的SID

曹华荣
2023-03-14

我正在尝试在我的应用程序中通过Hibernate连接到oracle 11g XE。当我在tomcat(7.0)中部署应用程序时,我收到以下消息。

JAVAsql。SQLException:Listener拒绝了连接,出现以下错误:ORA-12505,TNS:Listener当前不知道连接描述符中给出的SID

当我运行应用程序并通过UI调用对道类的请求时,我正在查看下面的异常消息。

组织。springframework。jdbc。支持MetaDataAccessException:无法获取用于提取元数据的连接;嵌套的异常是org。springframework。jdbc。CannotGetJdbcConnectionException:无法获取JDBC连接;嵌套的例外是java。sql。SQLException:Listener拒绝了连接,出现以下错误:ORA-12505,TNS:Listener当前不知道连接描述符中给出的SID

我的数据库属性文件是

jdbc.driverClassName=oracle.jdbc.driver.OracleDriver 
jdbc.url=jdbc:oracle:thin:@localhost:1522:XE
jdbc.username=system
jdbc.password=oracle

我已经安装了oracle11g XE,这些是我的tnanames.ora和listener.ora文件。我应该在哪里进行更改。

听众。奥拉

SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = PLSExtProc)
      (ORACLE_HOME = D:\oracleXE\app\oracle\product\11.2.0\server)
      (PROGRAM = extproc)
    )
    (SID_DESC =
      (SID_NAME = CLRExtProc)
      (ORACLE_HOME = D:\oracleXE\app\oracle\product\11.2.0\server)
      (PROGRAM = extproc)
    )
  )

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
      (ADDRESS = (PROTOCOL = TCP)(HOST = SIPLDT0019-PC)(PORT = 1522))
    )
  )

DEFAULT_SERVICE_LISTENER = (XE)

tnsnames.ora

XE =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = SIPLDT0019-PC)(PORT = 1522))
    (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) 
    ) 
  ) 

共有1个答案

利稳
2023-03-14

SID是“您的DDBB的唯一名称”。

您必须在连接url中这样给出它:

jdbc:postgresql://<IP-PORT>/<your_SID>?useUnicode=true&amp;characterEncoding=ISO-8859-1

在本例中,这是一个postgres数据库,url位于ApacheTomcat服务器(server.xml)的数据源定义中(在内部)。

(您可以配置太Hibernate的池添加:

<property name="connection.url">jdbc:postgresql://<IP-PORT>/<your_SID></property>

)

不一样,但您可以认为应该在url规范中的某个位置插入DDBB SID。

希望这有帮助。

 类似资料:
  • 代理连接到实例状态 失败详细信息 ORA-12505: TNS:侦听器当前不知道连接描述符中给定的SID(DBD错误:OCIServerAttach) 监听器文件 听众。ora网络配置文件: E:\app\Administrator\product\11.2.0\dbhome\u 1\network\admin\listener。奥拉 斯奈姆斯。ora文件 tnsnames.ora网络配置文件:

  • 当我尝试通过SQLDeveloper或我的java应用程序连接到oracle时,我得到以下错误,尽管我能够从SQLPLUS(命令行工具)连接 每当我做系统重新启动时,我都会遇到这个问题。虽然系统重新启动后10次中有1次,但我能够成功连接。 我可以看到所有的oracle服务,包括<code>OracleOraDb11g_home1TNSListener</code>都在服务部分。仅供参考,我的SID

  • 我试图将我的Netbeans Java项目连接到Oracle数据库,但它显示了错误ORA:12505 TNS:listener当前不知道连接描述符中给出的SID,即使在我使用SQL Developer连接时,我也收到了相同的错误。 有人知道怎么修吗?提前谢谢你。 注意:我在CMD中使用命令SQLPlus,它工作得很好。我的听众没有Rest。 更新:这是我的听众。ora文件上下文: SID\u LI

  • 我安装了oracle weblogic服务器并无法配置它,当我尝试设置连接时发生了一些错误。 我可以查出数据库连接有问题。 我已经在一台联想个人电脑上安装了它,带有windows professional x64。 在Web逻辑服务器中: 我将jdbc名称命名为“cmdemo”,将jndi名称命名为“jdbc/cmdemo”。 我选择oracle的驱动程序为“(精简)实例连接:版本:9:0.1及更

  • 当pc在服务器上时,每当尝试创建连接时,我都会收到ORA-12505。 如果我断开pc与服务器的连接,则创建连接。但当我把电脑连接到服务器时,我得到了一个错误ORA-12505 状态:: 失败-测试失败:侦听器拒绝连接并出现以下错误:ORA-12505, TNS:侦听器当前不知道连接描述符中给出的SID” 我没有改变listener.ora文件和tnsnames.ora. 请帮帮我。。。。。 错误