【问题标题】:JDBC error while connecting java with Oracle 18c将 java 与 Oracle 18c 连接时出现 JDBC 错误
【发布时间】:2020-04-02 01:30:28
【问题描述】:

当我将 Oracle 18c 数据库与 java 连接时,出现以下错误。 我正在使用的命令。

Class.forName("oracle.jdbc.driver.OracleDriver"); 
        Connection con=DriverManager.getConnection("jdbc:oracle:thin:@100.100.209.28:1521:PDB1","cmiapps","WEXXXX##");

我遇到了错误。

Listener refused the connection with the following error:
ORA-12505, TNS:listener does not currently know of SID given in connect descriptor

当我在查询下运行时,我得到PDB1 作为服务名称。

select name from dba_services;

你能帮我做同样的事情吗?

【问题讨论】:

  • 你知道什么是 SID 吗?为什么司机认为你提供了一个?
  • 使用服务名时的URL格式不同。您使用的格式已被 Oracle 10 弃用。请参阅示例“瘦样式服务名称”in the manual
  • 100.100.209.28:1521/PDB1 作为@a_horse_with_no_name 通知
  • 不是.../PDB1.pvtsub1.imcm..我希望...
  • @OnkarTiwari - “连接细节”图像的相关性是什么?如果这适用于任何客户端,那么使用相同的完整服务名称?我不记得是否在这里使用了它,但是您的db_domain 参数设置为-pvtsub1.imcm... 是什么?还可以查看数据库服务器上的 lsnrctl services 报告的它将识别的名称。

标签: java oracle jdbc ojdbc


【解决方案1】:

正如@thatjeffsmith 评论中提到的,您不能使用SID 连接PDB 数据库。您将不得不使用service name

【讨论】:

  • 如何知道服务名?
  • 从 v$parameter where name='service_names'中选择值;
猜你喜欢
  • 2020-08-12
  • 2019-12-31
  • 2018-12-03
  • 1970-01-01
  • 2014-09-24
  • 1970-01-01
  • 2016-05-03
  • 1970-01-01
  • 2014-10-05
相关资源
最近更新 更多