我尝试将我的 Netbeans Java 项目连接到 Oracle 数据库,但它显示错误
ORA:12505 TNS:listener does not currently know of SID given in connect descriptor
.
甚至当我使用SQL Developer连接时,我也收到同样的错误。
有人知道怎么解决吗?提前谢谢你。
注意:我在
SQLPlus
中使用命令CMD
,它工作正常。我的听众没有休息。
更新: 这是我的
listener.ora
文件上下文:
SID_LIST_LISTENER = (SID_LIST = (SID_DESC = (SID_NAME = CLRExtProc) (ORACLE_HOME = C:\Oracle) (程序 = extproc) (ENVS = "EXTPROC_DLLS=ONLY:C:\Oracle in\oraclr19.dll") ))
LISTENER = (DESCRIPTION_LIST = (说明 = (地址 =(协议 = TCP)(主机 = 本地主机)(端口 = 1521)) (地址 =(协议 = IPC)(密钥 = EXTPROC1521)) ))
这是
lsnrctl
状态的结果
64 位 Windows 的 LSNRCTL:版本 19.0.0.0.0 - 生产于 2021 年 5 月 13 日 18:36:25
版权所有 (c) 1991, 2019, Oracle。保留所有权利。
连接到 (描述=(地址=(协议=TCP)(主机=本地主机)(端口=1521))) 聆听者的状态 ---------------------- 用于 64 位 Windows 的别名 LISTENER 版本 TNSLSNR:版本 19.0.0.0.0 - 生产开始日期 2021 年 5 月 13 日 17:28:29 正常运行时间 0 天 1 小时。 7 分钟56 sec Trace Level off 安全开启:本地 操作系统身份验证 SNMP OFF 侦听器参数 文件 C:\甲骨文 etwork dmin\listener.ora 侦听器日志文件
C:\Oracle ase\diag nslsnr\DESKTOP-A10GTQJ\listener lert\log.xml 监听端点总结...
(描述=(地址=(协议=tcp)(主机=桌面-A10GTQJ)(端口=1521))) (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\.\pipe\EXTPROC1521ipc))) (DESCRIPTION=(ADDRESS=(PROTOCOL=tcps)(HOST=DESKTOP-A10GTQJ)(PORT=5500))(Security=(my_wallet_directory=C:\ORACLE\BASE dmin\system\xdb_wallet))(Presentation=HTTP)(会话=原始)) 服务摘要...服务“48f123709e024effbc4514551f7222c6”有 1 实例。实例“system”,状态 READY,有 1 个处理程序用于 此服务...服务“52448234712340b69f274bcc790ecfe0”有 1 实例。实例“system”,状态 READY,有 1 个处理程序用于 此服务... 服务“CLRExtProc”有 1 个实例。实例 “CLRExtProc”,状态未知,此服务有 1 个处理程序... 服务“orclpdb”有 1 个实例。实例“系统”,状态 就绪,有 1 个处理程序用于此服务...服务“系统”有 1 个 实例。实例“system”,状态 READY,有 1 个处理程序用于 此服务... 服务“systemXDB”有 1 个实例。实例 “系统”,状态就绪,有 1 个处理程序用于此服务... 命令成功完成
顺便说一句,您可以启用 USE_SID_AS_SERVICE_listener_name。 在这种情况下,即使您在 SID 中指定了服务名称,也可以连接到您的服务。
CLRExtProc not 数据库的 SID。它是一个允许 Oracle 与外部 .Net 库通信的扩展。如果您尝试连接到我看到的可插入数据库,那么您必须对该数据库使用 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