Java 使用HikariCP中TNSNAMES.ORA的设置

Java 使用HikariCP中TNSNAMES.ORA的设置,java,hikaricp,tnsnames,Java,Hikaricp,Tnsnames,我正在尝试为我的应用程序连接池迁移到HikariCP。目前,我想连接到Oracle数据库 以下是我正在使用的代码: HikariConfig hc = new HikariConfig(); hc.setUsername(username); hc.setPassword(password); hc.setDataSourceClassName("oracle.jdbc.pool.OracleDataSource");

我正在尝试为我的应用程序连接池迁移到HikariCP。目前,我想连接到Oracle数据库

以下是我正在使用的代码:

        HikariConfig hc = new HikariConfig();
        hc.setUsername(username);
        hc.setPassword(password);
        hc.setDataSourceClassName("oracle.jdbc.pool.OracleDataSource");
        hc.addDataSourceProperty("serverName", TNS);
        hc.addDataSourceProperty("portNumber", 1521);
        hc.addDataSourceProperty("driverType", "thin");


        HikariDataSource hds = new HikariDataSource(hc);
        hds.setPoolName("Pool::"+username+"@"+dbName);
TNS变量来自我的配置,并引用服务器上的TNSNAMES.ora文件中的设置

SERVER_1 =
    (DESCRPTION = 
        (ADDRESS_LIST = 
                (ADDRESS = (PROTOCOL = TCP)(HOST = server01.intranet)(PORT = 1521))
        )
        (CONNECTION_DATA = 
                (SERVICE_NAME = SERVER1)
        )
    )
代码失败,出现以下堆栈跟踪:

INFO  HikariPool-1 - Starting...
ERROR HikariPool-1 - Exception during pool initialization.
java.sql.SQLRecoverableException: Erreur d'E/S: The Network Adapter could not establish the connection
    at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:743)
    at oracle.jdbc.driver.PhysicalConnection.connect(PhysicalConnection.java:666)
    at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:32)
    at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:566)
    at oracle.jdbc.pool.OracleDataSource.getPhysicalConnection(OracleDataSource.java:317)
    at oracle.jdbc.pool.OracleDataSource.getConnection(OracleDataSource.java:241)
    at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:358)
    at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201)
    at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:443)
    at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:514)
    at com.zaxxer.hikari.pool.HikariPool.<init>(HikariPool.java:111)
    at com.zaxxer.hikari.HikariDataSource.<init>(HikariDataSource.java:72)
    at com.test.commonlib.config.DbConfigReader.getDataSource(DbConfigReader.java:105)
    at com.test.commonlib.config.DbConfigReader.getDataSource(DbConfigReader.java:31)
    at com.test.module1.Module1.getConnectionModule1(Module1.java:258)
    at com.test.module1.fileinjector.fd.loadConf(fd.java:583)
    at com.test.module1.fileinjector.fd.<init>(fd.java:78)
    at com.test.module1.fileinjector.fd.getInstance(fd.java:84)
    at com.test.module1.Module1.init(Module1.java:78)
    at com.test.module1.scripts.TestPerso.TestPerso.testModule1(TestPerso.java:2009)
    at com.test.module1.scripts.TestPerso.TestPerso.main(TestPerso.java:145)
Caused by: oracle.net.ns.NetException: The Network Adapter could not establish the connection
    at oracle.net.nt.ConnStrategy.execute(ConnStrategy.java:470)
    at oracle.net.resolver.AddrResolution.resolveAndExecute(AddrResolution.java:506)
    at oracle.net.ns.NSProtocol.establishConnection(NSProtocol.java:595)
    at oracle.net.ns.NSProtocol.connect(NSProtocol.java:230)
    at oracle.jdbc.driver.T4CConnection.connect(T4CConnection.java:1452)
    at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:496)
    ... 20 more
Caused by: java.net.UnknownHostException: SERVER_1
    at java.net.Inet6AddressImpl.lookupAllHostAddr(Native Method)
    at java.net.InetAddress$2.lookupAllHostAddr(InetAddress.java:928)
    at java.net.InetAddress.getAddressesFromNameService(InetAddress.java:1323)
    at java.net.InetAddress.getAllByName0(InetAddress.java:1276)
    at java.net.InetAddress.getAllByName(InetAddress.java:1192)
    at java.net.InetAddress.getAllByName(InetAddress.java:1126)
    at oracle.net.nt.TcpNTAdapter.connect(TcpNTAdapter.java:120)
    at oracle.net.nt.ConnOption.connect(ConnOption.java:159)
    at oracle.net.nt.ConnStrategy.execute(ConnStrategy.java:428)
    ... 25 more
Exception in thread "main" com.zaxxer.hikari.pool.HikariPool$PoolInitializationException: Failed to initialize pool: Erreur d'E/S: The Network Adapter could not establish the connection
    at com.zaxxer.hikari.pool.HikariPool.throwPoolInitializationException(HikariPool.java:543)
    at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:535)
    at com.zaxxer.hikari.pool.HikariPool.<init>(HikariPool.java:111)
    at com.zaxxer.hikari.HikariDataSource.<init>(HikariDataSource.java:72)
    at com.test.commonlib.config.DbConfigReader.getDataSource(DbConfigReader.java:105)
    at com.test.commonlib.config.DbConfigReader.getDataSource(DbConfigReader.java:31)
    at com.test.module1.Module1.getConnectionModule1(Module1.java:258)
    at com.test.module1.fileinjector.fd.loadConf(fd.java:583)
    at com.test.module1.fileinjector.fd.<init>(fd.java:78)
    at com.test.module1.fileinjector.fd.getInstance(fd.java:84)
    at com.test.module1.Module1.init(Module1.java:78)
    at com.test.module1.scripts.TestPerso.TestPerso.testModule1(TestPerso.java:2009)
    at com.test.module1.scripts.TestPerso.TestPerso.main(TestPerso.java:145)
Caused by: java.sql.SQLRecoverableException: Erreur d'E/S: The Network Adapter could not establish the connection
    at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:743)
    at oracle.jdbc.driver.PhysicalConnection.connect(PhysicalConnection.java:666)
    at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:32)
    at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:566)
    at oracle.jdbc.pool.OracleDataSource.getPhysicalConnection(OracleDataSource.java:317)
    at oracle.jdbc.pool.OracleDataSource.getConnection(OracleDataSource.java:241)
    at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:358)
    at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201)
    at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:443)
    at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:514)
    ... 11 more
Caused by: oracle.net.ns.NetException: The Network Adapter could not establish the connection
    at oracle.net.nt.ConnStrategy.execute(ConnStrategy.java:470)
    at oracle.net.resolver.AddrResolution.resolveAndExecute(AddrResolution.java:506)
    at oracle.net.ns.NSProtocol.establishConnection(NSProtocol.java:595)
    at oracle.net.ns.NSProtocol.connect(NSProtocol.java:230)
    at oracle.jdbc.driver.T4CConnection.connect(T4CConnection.java:1452)
    at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:496)
    ... 20 more
Caused by: java.net.UnknownHostException: SERVER_1
    at java.net.Inet6AddressImpl.lookupAllHostAddr(Native Method)
    at java.net.InetAddress$2.lookupAllHostAddr(InetAddress.java:928)
    at java.net.InetAddress.getAddressesFromNameService(InetAddress.java:1323)
    at java.net.InetAddress.getAllByName0(InetAddress.java:1276)
    at java.net.InetAddress.getAllByName(InetAddress.java:1192)
    at java.net.InetAddress.getAllByName(InetAddress.java:1126)
    at oracle.net.nt.TcpNTAdapter.connect(TcpNTAdapter.java:120)
    at oracle.net.nt.ConnOption.connect(ConnOption.java:159)
    at oracle.net.nt.ConnStrategy.execute(ConnStrategy.java:428)
    ... 25 more
信息HikariPool-1-正在启动。。。
错误HikariPool-1-池初始化期间出现异常。
java.sql.SQLRecoverableException:Erreur d'E/S:网络适配器无法建立连接
位于oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:743)
位于oracle.jdbc.driver.PhysicalConnection.connect(PhysicalConnection.java:666)
位于oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:32)
位于oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:566)
位于oracle.jdbc.pool.OracleDataSource.getPhysicalConnection(OracleDataSource.java:317)
在oracle.jdbc.pool.OracleDataSource.getConnection(OracleDataSource.java:241)
位于com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:358)
在com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201)上
在com.zaxxer.hikari.pool.HikariPool.createPoolEntry上(HikariPool.java:443)
在com.zaxxer.hikari.pool.HikariPool.checkFailFast上(HikariPool.java:514)
在com.zaxxer.hikari.pool.HikariPool上。(HikariPool.java:111)
在com.zaxxer.hikari.HikariDataSource。(HikariDataSource.java:72)
位于com.test.commonlib.config.DbConfigReader.getDataSource(DbConfigReader.java:105)
位于com.test.commonlib.config.DbConfigReader.getDataSource(DbConfigReader.java:31)
位于com.test.module1.module1.getConnectionModule1(module1.java:258)
位于com.test.module1.fileinjector.fd.loadConf(fd.java:583)
在com.test.module1.fileinjector.fd.(fd.java:78)
位于com.test.module1.fileinjector.fd.getInstance(fd.java:84)
位于com.test.module1.module1.init(module1.java:78)
位于com.test.module1.scripts.TestPerso.TestPerso.testModule1(TestPerso.java:2009)
位于com.test.module1.scripts.TestPerso.TestPerso.main(TestPerso.java:145)
原因:oracle.net.ns.NetException:网络适配器无法建立连接
在oracle.net.nt.connstategy.execute(connstategy.java:470)
位于oracle.net.resolver.AddrResolution.resolveAndExecute(AddrResolution.java:506)
位于oracle.net.ns.NSProtocol.buildConnection(NSProtocol.java:595)
位于oracle.net.ns.NSProtocol.connect(NSProtocol.java:230)
位于oracle.jdbc.driver.T4CConnection.connect(T4CConnection.java:1452)
位于oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:496)
... 20多
原因:java.net.UnknownHostException:服务器\u 1
在java.net.Inet6AddressImpl.lookupAllHostAddr(本机方法)
位于java.net.InetAddress$2.lookupAllHostAddr(InetAddress.java:928)
位于java.net.InetAddress.getAddressesFromNameService(InetAddress.java:1323)
位于java.net.InetAddress.getAllByName0(InetAddress.java:1276)
位于java.net.InetAddress.getAllByName(InetAddress.java:1192)
位于java.net.InetAddress.getAllByName(InetAddress.java:1126)
位于oracle.net.nt.TcpNTAdapter.connect(TcpNTAdapter.java:120)
位于oracle.net.nt.connpoption.connect(connpoption.java:159)
在oracle.net.nt.connstategy.execute(connstategy.java:428)
... 25多
线程“main”com.zaxxer.hikari.pool.HikariPool$poolitizationexception:初始化池失败:Erreur d'E/S:网络适配器无法建立连接
位于com.zaxxer.hikari.pool.HikariPool.throwPoolInitializationException(HikariPool.java:543)
在com.zaxxer.hikari.pool.HikariPool.checkFailFast上(HikariPool.java:535)
在com.zaxxer.hikari.pool.HikariPool上。(HikariPool.java:111)
在com.zaxxer.hikari.HikariDataSource。(HikariDataSource.java:72)
位于com.test.commonlib.config.DbConfigReader.getDataSource(DbConfigReader.java:105)
位于com.test.commonlib.config.DbConfigReader.getDataSource(DbConfigReader.java:31)
位于com.test.module1.module1.getConnectionModule1(module1.java:258)
位于com.test.module1.fileinjector.fd.loadConf(fd.java:583)
在com.test.module1.fileinjector.fd.(fd.java:78)
位于com.test.module1.fileinjector.fd.getInstance(fd.java:84)
位于com.test.module1.module1.init(module1.java:78)
位于com.test.module1.scripts.TestPerso.TestPerso.testModule1(TestPerso.java:2009)
位于com.test.module1.scripts.TestPerso.TestPerso.main(TestPerso.java:145)
原因:java.sql.SQLRecoverableException:Erreur d'E/S:网络适配器无法建立连接
位于oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:743)
位于oracle.jdbc.driver.PhysicalConnection.connect(PhysicalConnection.java:666)
位于oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:32)
位于oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:566)
位于oracle.jdbc.pool.OracleDataSource.getPhysicalConnection(OracleDataSource.java:317)
在oracle.jdbc.pool.OracleDataSource.getConnection(OracleDataSource.java:241)
位于com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:358)
在com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201)上
在com.zaxxer.hikari.pool.HikariPool.createPoolEntry上(HikariPool.java:443)
在com.zaxxer.hikari.pool.HikariPool.checkFailFast上(HikariPool.java:514)
... 还有11个
原因:oracle.net.ns.NetException:网络适配器无法建立连接
在oracle.net.nt.connstategy.execute(connstategy.java:470)
位于oracle.net.resolver.AddrResolution.resolveAndExecute(AddrResolution.java:506)
位于oracle.net.ns.NSProtocol.buildConnection(NSProtocol.java:595)
位于oracle.net.ns.NSProtocol.connect(NSProtocol.java:230)
位于oracle.jdbc.driver.T4CConnection.connect(T4CConnection.java:1452)
位于oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:496)
... 20多
原因:java.net.UnknownHostException:服务器\u 1
在java.net.Inet6AddressImpl.l
dataSource.setDriverClassName("oracle.jdbc.driver.OracleDriver");
dataSource.setJdbcUrl("jdbc:oracle:thin:@server01.intranet:1521/SERVER1")
System.setProperty("oracle.net.tns_admin", "C:\\Development\\TNS_ADMIN");
System.setProperty("oracle.net.tns_admin", System.getenv("TNS_ADMIN"));