java - hikari oracle连接失败(弹簧启动)
问题描述
我正在尝试使用 Hikari 连接我的 oracle 数据库,但由于某种原因在线上HikariDataSource ds = new HikariDataSource(dbConfig);
它正在向我抛出错误,指出
2020-10-29 00:06:51.496 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource.<init>(80) - HikariPool-1 - Starting...
2020-10-29 00:06:52.608 [restartedMain] ERROR com.zaxxer.hikari.pool.HikariPool.throwPoolInitializationException(593) - HikariPool-1 - Exception during pool initialization.
java.sql.SQLException: Listener refused the connection with the following error:
ORA-12514, TNS:listener does not currently know of service requested in connect descriptor
at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:458)
at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:546)
at oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:236)
at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:32)
at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:521)
at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138)
HikariConfig dbConfig = new HikariConfig();
dbConfig.setJdbcUrl("jdbc:oracle:thin:@ip:1521/tabs1");
dbConfig.setUsername("usernmae");
dbConfig.setPassword("password");
dbConfig.setDriverClassName("oracle.jdbc.OracleDriver");
dbConfig.setMinimumIdle(1);
dbConfig.setMaximumPoolSize(3);
dbConfig.setAutoCommit(false);
log.info("Configs are :" +dbConfig);
HikariDataSource ds = new HikariDataSource(dbConfig);
我对此进行了大量研究,但无法找到解决方案的确切问题。
解决方案
请使用以下其中一项
jdbc:oracle:thin:@HOST:PORT:SID
或者
jdbc:oracle:thin:@//HOST:PORT/SERVICE
据我所见,您错过了前两个反斜杠并最终在 Connect 中尝试使用 SID 而服务名称无法识别。
推荐阅读
- vee-validate - 规则中的 Vee-Validate v3 服务器端验证
- r - 如何让 R 以分类而不是连续的方式读取数据(对于 S4 模型)
- c# - 如何在 C# 中修复文本框的高度
- r - 克服?排 ?或者 ?记忆 ?R studio 编译海量数据库的问题
- java - 无法在自定义适配器中修改 TextView
- drupal-8 - 社交身份验证 google 和简单身份验证 drupal 8
- vb.net - 计时器交错,仪表板更新事件被跳过 +
- jquery - jQuery - 为每个关联的数据属性添加活动状态
- sql - 在 Postgres 中获取一天中每一分钟的匹配时间范围计数
- django-rest-framework - 如何使用自定义逻辑创建序列化程序?