java - How should I write JDBC url for Oracle with LDAP and two LDAP servers? -
i have oracle database ldap, , can connect writing smth like:
jdbc:oracle:thin:@ldap://oid0.wow.com:666/chost,cn=oraclecontext,dc=wow,dc=com
but not failover (we have server oracle ldap - oid1.wow.com:666)
how can use both servers reach failover? found solution, doesn't work:
java.sql.sqlexception: io exception: invalid ldap url specified @ oracle.jdbc.driver.databaseerror.throwsqlexception(databaseerror.java:113) @ oracle.jdbc.driver.databaseerror.throwsqlexception(databaseerror.java:147) @ oracle.jdbc.driver.databaseerror.throwsqlexception(databaseerror.java:257) @ oracle.jdbc.driver.t4cconnection.logon(t4cconnection.java:389) @ oracle.jdbc.driver.physicalconnection.<init>(physicalconnection.java:454) @ oracle.jdbc.driver.t4cconnection.<init>(t4cconnection.java:165) @ oracle.jdbc.driver.t4cdriverextension.getconnection(t4cdriverextension.java:35) @ oracle.jdbc.driver.oracledriver.connect(oracledriver.java:802) @ com.mchange.v2.c3p0.drivermanagerdatasource.getconnection(drivermanagerdatasource.java:134) @ com.mchange.v2.c3p0.wrapperconnectionpooldatasource.getpooledconnection(wrapperconnectionpooldatasource.java:182) @ com.mchange.v2.c3p0.wrapperconnectionpooldatasource.getpooledconnection(wrapperconnectionpooldatasource.java:171) @ com.mchange.v2.c3p0.impl.c3p0pooledconnectionpool$1pooledconnectionresourcepoolmanager.acquireresource(c3p0pooledconnectionpool.java:137) @ com.mchange.v2.resourcepool.basicresourcepool.doacquire(basicresourcepool.java:1014) @ com.mchange.v2.resourcepool.basicresourcepool.access$800(basicresourcepool.java:32) @ com.mchange.v2.resourcepool.basicresourcepool$acquiretask.run(basicresourcepool.java:1810) @ com.mchange.v2.async.threadpoolasynchronousrunner$poolthread.run(threadpoolasynchronousrunner.java:547)
it driver!
throw debugging i've found antother issue string.concat() npe our driver (com.oracle ojdbc14 10.2.0.4.0 - found in mvn repo) doesn't suppor 2 o more url's.
when downloaded driver oracle site (10.1.0.5 'ojdbc14_g') start work fine.
all of looks strange because 10.1.0.5 seems last version of oracle jdbc drivers on official site (for oracle 10 of course).
here is! failover datasource bean:
<bean id="datasource" class="com.mchange.v2.c3p0.combopooleddatasource" destroy-method="close"> <!--common datasource props --> <property name="driverclass" value="oracle.jdbc.driver.oracledriver"/> <property name="jdbcurl" value="jdbc:oracle:thin:@ldaps://oid0.wow.com:666/chost,cn=oraclecontext,dc=wow,dc=com ldaps://oid1.wow.com:666/chost,cn=oraclecontext,dc=wow,dc=com"/> <property name="overridedefaultuser" value="useruser"/> <property name="overridedefaultpassword" value="strongpassword"/> <!-- special c3p0 props --> <property name="minpoolsize" value="1"/> <property name="maxpoolsize" value="10"/> <property name="maxstatements" value="10"/> <property name="breakafteracquirefailure" value="false"/> <property name="acquireretryattempts" value="5"/> <property name="testconnectiononcheckin" value="true"/> <property name="properties"> <props> <prop key="oracle.net.ldap_loadbalance">off</prop> </props> </property> </bean>
Comments
Post a Comment