Diese Antwort erfordert deutlich mehr Arbeit, aber ich bin auch, weil es die vorgeschlagene Lösung ist so ziemlich alles, um eine Verbindung anzupassen, einschließlich des Schemas. Mit WebSphere Application Server können Sie einen DataStoreHelper bereitstellen/erweitern.
Knowledge Center document on providing a custom DataStoreHelper
In diesem Fall können Sie com.ibm.websphere.rsadapter.Oracle11gDataStoreHelper
verlängern.
JavaDoc for Oracle11gDataStoreHelper
Die folgenden Methoden werden von Interesse sein:
doConnectionSetup
, die auf eine Verbindung einmalige Initialisierung durchführt, wenn es zuerst
doConnectionCleanup
erstellt wird, die vor der Rückkehr Verbindungszustand zurücksetzt, es zum Verbindungspool.
Wenn Sie doConnectionSetup
außer Kraft setzen, werden Sie mit der neu erstellten Verbindung geliefert, auf die Sie tun können,
super.doConnectionSetup(connection);
Statement stmt = connection.createStatement();
try {
stmt.execute(sqlToUpdateSchema);
} finally {
stmt.close();
}
doConnectionCleanup
können Sie die Möglichkeit berücksichtigen, dass Anwendungscode, der die Verbindung mit möglicherweise wechseln das Schema zu etwas anderem. doConnectionCleanup
gibt Ihnen die Möglichkeit, es zurückzusetzen. Auch hier werden Sie mit einem Anschluss geliefert, auf die Sie tun können,
super.doConnectionCleanup(connection);
Statement stmt = connection.createStatement();
try {
stmt.execute(sqlToUpdateSchema);
} finally {
stmt.close();
}
Beachten Sie, dass in beiden Fällen die entsprechende Superklassenmethode aufrufen wichtig ist, dass Sie die Datenbank-spezifischen auszulöschen Initialisierung nicht zu gewährleisten/Bereinigungscode, den WebSphere Application Server basierend auf der Datenbank erstellt hat.
Wir verbinden zu Oracle Database – Dave
verwenden Sie WebSphere traditionelle oder WebSphere Freiheit? –
ich bin mit WebSphere traditionell – Dave