Interaktion mit Datenbanken mithilfe des JavaCompute-Knotens

Zugriff auf Datenbanken über den im JavaCompute-Knoten enthaltenen Java-Code.

Wählen Sie für die Datenbankinteraktion eine der folgenden Optionen aus:

Die Datenbanken, auf die Sie mittels MbSQLStatement zugreifen, können an global koordinierten Transaktionen teilnehmen. Bei allen anderen Optionen ist die globale Koordination des Datenbankzugriffs nicht möglich.

MbSQLStatement

Die MbSQLStatement stellt mittels ESQL oder ODBC vollständigen transaktionalen Datenbankzugriff bereit. Bei Verwendung von MbSQLStatement koordiniert der Ressourcenmanager des Brokers den Datenbankzugriff. Die globale Koordination wird auf verteilten Plattformen von WebSphere MQ und unter z/OS von RRS bereitgestellt. Informationen zum Einrichten der erforderlichen ODBC-Ressourcen finden Sie im Abschnitt ODBC-Verbindungen zu den Datenbanken herstellen.

Erstellen Sie mithilfe der MbNode-Methode createSQLStatement() Instanzen der MbSQLStatement-Klasse, durch die die ODBC-Datenquelle, die EQSL-Anweisung eines Brokers und (optional) der Transaktionsmodus an die Methode übergeben werden.
  • Durch den Aufruf von select() auf diesem Objekt werden die Ergebnisse der Abfrage zurückgegeben.
  • Durch den Aufruf von execute() in diesem Objekt wird eine Abfrage ausgeführt, in der keine Ergebnisse wie beispielsweise die Aktualisierung einer Tabelle zurückgegeben werden.
Im folgenden Java-Code wird gezeigt, wie auf eine Datenbank mithilfe von MbSQLStatement zugegriffen wird:
MbMessage newMsg = new MbMessage(assembly.getMessage());
MbMessageAssembly newAssembly = new MbMessageAssembly(assembly, newMsg);

String table = "dbTable";

MbSQLStatement state = createSQLStatement( "dbName", 
	"SET OutputRoot.XMLNS.integer[] = PASSTHRU('SELECT * FROM " + table + "');" );

state.setThrowExceptionOnDatabaseError(false);
state.setTreatWarningsAsErrors(true);
state.select( assembly, newAssembly );

int sqlCode = state.getSQLCode(); 
if(sqlCode != 0)
{
	// Fehlerbehandlung hier ausführen 
}

getOutputTerminal("out").propagate(assembly); 

JDBC-API

Im Code, den Sie für Ihre JavaCompute-Knoten schreiben, können Sie auf Java-Standard-APIs einschließlich JDBC-Aufrufe zugreifen. Zum Herstellen der Verbindung mit einer Datenbank, zum Lesen aus oder Schreiben in eine Datenbank und zum Trennen einer Datenbankverbindung können Sie daher JDBC-APIs verwenden. Der Broker erlaubt in Ihrem JDBC-Verbindungscode sowohl den Aufruf von Typ-2-JDBC-Treibern als auch den Aufruf von Typ-4-JDBC-Treibern in dieser Umgebung, stellt diese Treiber allerdings nicht bereit. Sie erhalten diese Treiber von Ihrem Datenbankhersteller.

Bei dieser Datenbankzugriffsmethode bietet der Broker keinerlei Unterstützung für die Transaktionsverwaltung. Das bedeutet, dass die Verwaltung des lokalen Commits und Rollbacks von Datenbankänderungen in Ihrem Code integriert sein muss. Auch die Verbindungsdauer, die Thread-Affinität der Verbindungen und das Verbindungspooling müssen vom Code verwaltet werden. Darüberhinaus müssen Sie bei Verwendung dieser Methode den Zugriff auf die Datenbanken überwachen, um sicherzustellen, dass sich die vom Broker hergestellten Verbindungen und Ihre eigenen Verbindungen nicht gegenseitig beeinträchtigen. Beachten Sie in diesem Zusammenhang, dass Typ-2-Treiber zu einer ODBC-Verbindung überbrückt werden, die eventuell in Nachrichtenflüssen verwendet wird, deren Datenbankzugriff über ESQL erfolgt.

SQLJ

SQLJ ist eine Java-Erweiterung zum Einbetten statischer SQL-Anweisungen in Java-Code. SQLJ-Dateien erstellen Sie in der Workbench. Bei Verwendung von SQLJ koordiniert der Ressourcenmanager des Brokers den Datenbankzugriff nicht.
  1. Aktivieren Sie die SQLJ-Funktion in der Workbench:
    1. Wechseln Sie in die Ansicht 'Brokeranwendungsentwicklung'.
    2. Wählen Sie die Optionsfolge Windows > Einstellungen.
    3. Erweitern Sie Workbench.
    4. Wählen Sie Capabilities (Funktionen) aus.
    5. Erweitern Sie Database Developer (Datenbankentwickler).
    6. Wählen Sie SQLJ Development (SQLJ-Entwicklung) aus.
    7. Klicken Sie auf OK.
  2. Erstellen Sie eine neue SQLJ-Datei in einem Java-Projekt:
    1. Klicken Sie mit der rechten Maustaste auf das Java-Projekt, in der die Datei erstellt werden soll.
    2. Klicken Sie nacheinander auf Neu > Sonstige.
    3. Erweitern Sie Daten.
    4. Erweitern Sie SQLJ.
    5. Wählen Sie SQLJ File (SQLJ-Datei) aus.
    6. Klicken Sie auf Weiter.
    7. Folgen Sie zum Generieren der SQLJ-Datei den Anweisungen den Assistenten zur Erstellung einer neuen SQLJ-Datei.
Sie können jetzt in dieser SQLJ-Datei aus einer JavaCompute-Knotenklasse in diesem Projekt oder in einem anderen Projekt, auf das verwiesen wird, auf die Klasse verweisen.
Zugehörige Konzepte
Projektverweise
Bemerkungen | Marken | Downloads | Bibliothek | Unterstützung | Feedback

Copyright IBM Corporation 1999, 2009Copyright IBM Corporation 1999, 2009.
Letzte Aktualisierung : 2009-02-17 15:28:30

ac30494_