Ich habe eine Datenquelle in meinem baseContext.xmlWie erlaube ich den Zugang zu Underlying Connection?
<bean id="datasource" class="org.apache.commons.dbcp.BasicDataSource" lazy-init="default" autowire="default" autowire-candidate="default">
<property name="driverClassName" value="oracle.jdbc.OracleDriver"></property>
<property name="url" value=""></property>
<property name="username" value=""></property>
<property name="password" value=""></property>
<property name="testWhileIdle" value=""></property>
<property name="testOnBorrow" value="tue"></property>
<property name="validationQuery" value=""></property>
</bean>
Diese Datenquelle schreibt einen clob Wert auf eine Oracle-Datenbank definiert. Und während Dabei wirft er diese Fehler
org.springframework.dao.InvalidDataAccessApiUsageException: OracleLobCreator auf [oracle.jdbc.OracleConnection] arbeiten muss, nicht auf [org.apache.commons.dbcp.PoolableConnection] : Spezifizieren Sie einen entsprechenden NativeJdbcExtractor; verschachtelte Ausnahme ist java.lang.ClassCastException: org.apache.commons.dbcp.PoolableConnection nicht zu gieße oracle.jdbc.OracleConnection werden kann
Ich habe versucht, diese Eigenschaft einzustellen „accessToUnderlyingConnectionAllowed“ als wahr, aber es besagt, dass die Bohne nicht instanziiert werden kann, Eigenschaft existiert nicht.
Andere Lösungen like this gefragt nativen jdbc Extraktor zu verwenden, aber ich weiß nicht, wie das
in diesem Bean angebenI Spring Batch bin mit tomcat läuft auf und i geben gerade diese Datenquelle, wenn ich die JobRepository konfigurieren
<batch:job-repository data-source="datasource" id="jobrepo" transaction-manager="transacMnager" table-prefix="" isolation-level-for-create="READ_COMMITTED"></batch:job-repository>
Wie kann ich dieses Problem lösen?
haben Sie versuchen, diese Methode zu verwenden: https: // commons .apache.org/proper/commons-dbcp/api-1.4/org/apache/commons/dbcp/Basisdatenquelle.html # getConnection()? –
Ich benutze Spring Batch und ich zeige nur auf diese Datenquelle, wenn ich das JobRepository angeben, im Wesentlichen habe ich keinen entsprechenden Java-Code, wenn ich explizit die Verbindung bekomme, das Spring Batch Framework tut das. Also jede Konfiguration, die ich tun muss, wäre hier, der Ort, an dem ich die Datenquelle beangeben –