Oracle错误:12505 TNS:侦听器当前不知道连接描述符中给出的SID

yqyhoc1h  于 2023-04-29  发布在  Oracle
关注(0)|答案(2)|浏览(139)

我试图将我的Netbeans Java项目连接到Oracle数据库,但它显示错误ORA:12505 TNS:listener does not currently know of SID given in connect descriptor
即使我使用SQL Developer进行连接,我也收到了相同的错误。
有人知道怎么修吗?先谢谢你。
注意:我在CMD中使用命令SQLPlus,它工作正常。我的听众没有休息。
更新:以下是我的listener.ora文件上下文:
SID_LIST_LISTENER =(SID_LIST =(SID_DESC =(SID_NAME = CLRExtProc)(ORACLE_HOME = C:\Oracle)(PROGRAM = extproc)(ENVS =“EXTPROC_DLLS=ONLY:C:\Oracle\bin\oraclr19.dll”)))
LISTENER =(DESCRIPTION_LIST =(DESCRIPTION =(ADDRESS =(PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))(ADDRESS =(PROTOCOL = IPC)(KEY = EXTPROC1521)))
下面是lsnrctl状态的结果
用于64位Windows的LSNRCTL:版本19.0.0.0.0 -2021年5月13日18:36:25生产
版权所有(c)1991,2019,Oracle。保留所有权利。
连接到(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=localhost)(PORT=1521)))LISTENER的状态----------------------别名LISTENER版本TNSLSNR(用于64位Windows):版本19.0.0.0.0 -生产开始日期2021年5月13日17:28:29正常运行时间0天1小时。7分56秒跟踪水平关闭安全开启:本地操作系统身份验证SNMP OFF侦听器参数文件C:\Oracle\network\admin\listener。ora监听程序日志文件
C:\Oracle\base\diag\tnslsnr\DESKTOP-A10GTQJ\listener\alert\log.xml侦听端点摘要。..
(描述=(地址=(协议=tcp)(主机=桌面-A10 GTQJ)(端口=1521)))(描述=(地址=(协议=ipc)(管道名= 1.\pipe\EXTPROC1521ipc)))(DESCRIPTION=(ADDRESS=(PROTOCOL=tcps)(HOST=DESKTOP-A10GTQJ)(PORT=5500))(Security=(my_wallet_directory=C:\ORACLE\BASE\admin\system\xdb_wallet))(Presentation=HTTP)(Session=RAW))服务摘要。.. Service“48 f123709 e024 effbc 4514551 f7222 c6”有1个示例。示例“system”(状态READY)具有此服务的1个处理程序。..服务“52448234712340 b69 f274 bcc 790 ecfe 0”有1个示例。示例“system”(状态READY)具有此服务的1个处理程序。..服务“CLRExtProc”具有1个示例。示例“CLRExtProc”,状态UNKNOWN,此服务有1个处理程序。..服务“orclpdb”有1个示例。示例“system”(状态READY)具有此服务的1个处理程序。..服务“system”有1个示例。示例“system”(状态READY)具有此服务的1个处理程序。..服务“systemXDB”有1个示例。示例“system”(状态READY)具有此服务的1个处理程序。..命令成功完成

igsr9ssn

igsr9ssn1#

顺便说一句,你可以启用USE_SID_AS_SERVICE_listener_name。在这种情况下,即使在SID中指定了服务名称,也可以连接到服务。

nukf8bse

nukf8bse2#

CLRExtProc * 不是 * 数据库的SID。它是一个允许Oracle与外部通信的扩展。Net libraries.如果您试图连接到我看到的可插入数据库,那么您必须为该数据库使用service_name,而不是SID。然后,您的连接字符串将如下所示:

jdbc:oracle:thin@//localhost:1521/orclpdb

注意:在容器/可插入数据库架构中,SID只指向 container 数据库,它永远不应该用于保存应用程序对象。一般情况下,最好尽可能使用service_name。
有关其他JDBC连接字符串格式,请参阅此处:https://www.oracle.com/a/tech/docs/java-programming-with-oracle-database-19c.pdf

相关问题