2017-01-19 1 views
0

Ich verwende Oracle Express (XE) und verbinde mich über JDBC mit ihm. Der Code verfügt über einen Universal Connection Pool (UCP).Oracle Express-Datenbank über JDBC mithilfe eines UCP (Universal Connection Pool)

Aus irgendeinem Grund, wenn ich versuche, eine neue Verbindung zu bekommen, erhalte ich:

java.sql.SQLException: Unable to start the Universal Connection Pool: oracle.ucp.UniversalConnectionPoolException: Cannot get Connection from Datasource 

ich mein Tomcatbediener läuft Maven mit

mvn tomcat7:run 

Muss ich extra Konfiguration hinzufügen müssen an meine pom.xml oder an das Oracle selbst, damit UCP funktioniert? Hier

ist die Stacktrace:

java.sql.SQLException: Unable to start the Universal Connection Pool: oracle.ucp.UniversalConnectionPoolException: Cannot get Connection from Datasource 
    at oracle.ucp.util.UCPErrorHandler.newSQLException(UCPErrorHandler.java:541) 
    at oracle.ucp.jdbc.PoolDataSourceImpl.throwSQLException(PoolDataSourceImpl.java:588) 
    at oracle.ucp.jdbc.PoolDataSourceImpl.startPool(PoolDataSourceImpl.java:277) 
    at oracle.ucp.jdbc.PoolDataSourceImpl.getConnection(PoolDataSourceImpl.java:647) 
    at oracle.ucp.jdbc.PoolDataSourceImpl.getConnection(PoolDataSourceImpl.java:614) 
    at oracle.ucp.jdbc.PoolDataSourceImpl.getConnection(PoolDataSourceImpl.java:608) 
    at com.websitepros.sql.UCPConnectionPoolImpl.borrowConnection(UCPConnectionPoolImpl.java:268) 
    at com.websitepros.sql.ConnectionFactoryImpl.borrowConnection(ConnectionFactoryImpl.java:60) 
    at com.websitepros.sql.ConnectionFactoryImpl.getConnection(ConnectionFactoryImpl.java:49) 
    at com.websitepros.sql.Table.getConnection(Table.java:196) 
    at com.websitepros.matrix.dataobjects.tables.PartnersTable.selectAll(PartnersTable.java:513) 
    at com.websitepros.util.PartnerTreeUtil.buildMap(PartnerTreeUtil.java:92) 
    at com.websitepros.util.PartnerTreeUtil.<init>(PartnerTreeUtil.java:38) 
    at com.websitepros.util.dbproperties.DBPartnerProperties.load(DBPartnerProperties.java:44) 
    at com.websitepros.util.PropertiesUtil.getProperties(PropertiesUtil.java:47) 
    at com.websitepros.util.PropertiesUtil.getProperties(PropertiesUtil.java:35) 
    at com.rocktide.integration.mip.PartnerAttributes.<init>(PartnerAttributes.java:76) 
    at com.rocktide.integration.mip.BuilderEnvironment.createPartnerAttributes(BuilderEnvironment.java:68) 
    at com.rocktide.integration.mip.BuilderEnvironment.createPartnerAttributes(BuilderEnvironment.java:53) 
    at com.websitepros.matrix.partners.hermes.Authenticate.serviceRequest(Authenticate.java:74) 
    at com.websitepros.servlet.WebComGenericServlet.doPost(WebComGenericServlet.java:31) 
    at com.websitepros.servlet.WebComGenericServlet.doGet(WebComGenericServlet.java:24) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:617) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 
    at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88) 
    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) 
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) 
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) 
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) 
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) 
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293) 
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859) 
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:602) 
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489) 
    at java.lang.Thread.run(Thread.java:745) 
Caused by: oracle.ucp.UniversalConnectionPoolException: Cannot get Connection from Datasource 
    at oracle.ucp.util.UCPErrorHandler.newUniversalConnectionPoolException(UCPErrorHandler.java:421) 
    at oracle.ucp.util.UCPErrorHandler.newUniversalConnectionPoolException(UCPErrorHandler.java:389) 
    at oracle.ucp.jdbc.DriverConnectionFactoryAdapter.createConnection(DriverConnectionFactoryAdapter.java:134) 
    at oracle.ucp.common.UniversalConnectionPoolImpl$UniversalConnectionPoolInternal.createOnePooledConnectionInternal(UniversalConnectionPoolImpl.java:1613) 
    at oracle.ucp.common.UniversalConnectionPoolImpl$UniversalConnectionPoolInternal.access$600(UniversalConnectionPoolImpl.java:1421) 
    at oracle.ucp.common.UniversalConnectionPoolImpl.createOnePooledConnection(UniversalConnectionPoolImpl.java:488) 
    at oracle.ucp.common.UniversalConnectionPoolImpl.addNewConnections(UniversalConnectionPoolImpl.java:988) 
    at oracle.ucp.common.UniversalConnectionPoolBase.getInitialConnections(UniversalConnectionPoolBase.java:541) 
    at oracle.ucp.common.UniversalConnectionPoolBase.start(UniversalConnectionPoolBase.java:655) 
    at oracle.ucp.jdbc.PoolDataSourceImpl.startPool(PoolDataSourceImpl.java:271) 
    ... 37 more 
Caused by: java.sql.SQLException: Listener refused the connection with the following error: 
ORA-12505, TNS:listener does not currently know of SID given in connect descriptor 

    at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:412) 
    at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:531) 
    at oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:221) 
    at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:32) 
    at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:503) 
    at oracle.ucp.jdbc.DriverConnectionFactoryAdapter.createConnection(DriverConnectionFactoryAdapter.java:130) 
    ... 44 more 
Caused by: oracle.net.ns.NetException: Listener refused the connection with the following error: 
ORA-12505, TNS:listener does not currently know of SID given in connect descriptor 

    at oracle.net.ns.NSProtocol.connect(NSProtocol.java:385) 
    at oracle.jdbc.driver.T4CConnection.connect(T4CConnection.java:1042) 
    at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:301) 
    ... 49 more 
+1

Bitte posten Sie den gesamten StackTrace, und nicht nur die Nachricht. –

Antwort

0

ich dieses Problem behoben, indem Sie die folgenden Schritte ausführen:

1) In meinem tnsnames.ora i hinzugefügt:

(SID = XE) 

zu

XE = 
    (DESCRIPTION = 
    (ADDRESS = (PROTOCOL = TCP)(HOST = Lenovo-PC)(PORT = 1521)) 
    (CONNECT_DATA = 
     (SERVER = DEDICATED) 
     (SERVICE_NAME = XE) 
     (SID = XE) 
    ) 
) 

2) In Liste ener.ora i hinzugefügt:

(SID_DESC = 
     (SID_NAME = XE) 
     (ORACLE_HOME = C:\oraclexe\app\oracle\product\11.2.0\server) 
    ) 

zu:

SID_LIST_LISTENER = 
    (SID_LIST = 
    (SID_DESC = 
     (SID_NAME = PLSExtProc) 
     (ORACLE_HOME = C:\oraclexe\app\oracle\product\11.2.0\server) 
     (PROGRAM = extproc) 
    ) 
    (SID_DESC = 
     (SID_NAME = CLRExtProc) 
     (ORACLE_HOME = C:\oraclexe\app\oracle\product\11.2.0\server) 
     (PROGRAM = extproc) 
    ) 
    (SID_DESC = 
     (SID_NAME = XE) 
     (ORACLE_HOME = C:\oraclexe\app\oracle\product\11.2.0\server) 
    ) 
) 

3) erneut gestartet OracleServiceXE und OracleXETNSListener und es funktionierte

Auch nach dem Stacktrace Überprüfung ich sah, war diese Frage mehrmals gefragt, aber es hat viele verschiedene Antworten, so würde dies mein Sandkorn sein :)

Verwandte Themen