Geschäftsprozess- oder Benutzeroptimierung ... - Midrange Magazin
Geschäftsprozess- oder Benutzeroptimierung ... - Midrange Magazin
Geschäftsprozess- oder Benutzeroptimierung ... - Midrange Magazin
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
Abbildung 8<br />
Hier muss man darauf achten, dass in<br />
keinem Fall SQLExceptions bis zur Anwendung<br />
hochgereicht werden, das<br />
wäre ein ernsthafter Design-Mangel. Im<br />
Beispiel sind die oberen Methoden nicht<br />
public, also in der Anwendung nicht<br />
sichtbar. Die Methoden, die public und<br />
damit aus der Anwendungsschicht erreichbar<br />
sind, müssen die SQLExceptions<br />
in jedem Fall abfangen und<br />
gegebenenfalls gegen anwendungsspezifische<br />
Fehlermeldungen austauschen.<br />
Anzeige<br />
<strong>Midrange</strong> MAGAZIN März 2002<br />
PreCompiler-Anweisungen<br />
Anweisungen für den Precompiler werden<br />
immer mit der Kennung #sql versehen<br />
und müssen mit einem Semikolon<br />
abgeschlossen werden.<br />
Der SQL-Teil wird in geschweifte Klammern<br />
gesetzt. Damit kann man bereits<br />
einfache SQL-Statements ohne weiteres<br />
absetzen, sobald man eine Verbindung<br />
zur Datenbank hergestellt hat (siehe Abbildung<br />
6).<br />
Technik & Integration<br />
Alle SQL-Anweisungen müssen die SQ-<br />
LException mit Java-Fehlerbehandlung<br />
entweder weiter hochreichen <strong>oder</strong> abfangen.<br />
Es können alle SQL-Anweisungen<br />
mit sqlj verwendet werden, die die<br />
Datenbank und der Treiber zulassen. Im<br />
Falle von Online-Prüfung bei der Umwandlung<br />
wird dies zur Umwandlungszeit<br />
gegen die Datenbank geprüft.<br />
Innerhalb der SQL-Statements können<br />
selbstverständlich auch so genannte<br />
Host-Variablen verwendet werden, die<br />
ähnlich wie in embedded SQL in RPG<br />
<strong>oder</strong> COBOL mit einem vorangestellten<br />
Doppelpunkt gekennzeichnet werden.<br />
Diese Host-Variablen werden dann innerhalb<br />
von Java deklariert und im generierten<br />
Code dann automatisch in die<br />
Statements eingesetzt und die Ergebnisse<br />
entsprechend automatisch zurück geliefert.<br />
Notwendige Konvertierungen<br />
werden bei der Verwendung konformer<br />
Typen automatisch vorgenommen. Typ-<br />
Inkonsistenzen werden vom PreCompiler<br />
zur Umwandlungszeit geprüft und<br />
angemahnt. Lediglich bei dem Aufruf<br />
von Stored Procedures treten da auch<br />
unter aktuellen Releases noch Unglattheiten<br />
auf. Unter Nutzung der erweiterten<br />
SELECT Anweisung des SQL hat<br />
das kleine JDBC-Beispiel vom Anfang<br />
dann folgendes Gesicht wie in Abbildung<br />
7 zu sehen ist.<br />
Im direkten Vergleich zueinander ist der<br />
Quelltext einfacher und besser lesbar<br />
geworden, zumindest für all diejenigen,<br />
die bereits mit embedded SQL in einer<br />
anderen Programmiersprache gearbeitet<br />
43