scireum research labs

information management made easy

Archiv für die 'IBM System i' Kategorie

i5: java.sql.SQLException: [SQL7008] in not valid for operation.

Samstag 19. Januar 2008 von mha

Der Fehlercode SQL7008 deutet auf nicht journalisierte Dateien hin. Wenn man Transaktionen auf solchen Dateien ausführen will, wehrt sich die i5 und sagt: “not valid for operation”. Zu deutsch: “Geht nicht, wie soll ich auch ein rollback machen ohne Journal”!

Lösung: mit CRTJRNRCV einen Journalempfänger erstellen, mit CRTJRN ein Journal erstellen und dann mit STRJRNPF die betroffene Datei journalisieren (Tipp: bei STRJRNPF die Option OMTJRNE auf *OPNCLO stellen, damit läßt die i5 alle Open und Close Anweisungen im Journal weg, somit werden Selects nicht protokolliert sondern nur Datenänderungen, was die Journalgröße wesentlich einschränkt). 

Kategorie: IBM System i, Java EE | Keine Kommentare »

IBM System i JDBC Connection Pool für Sun Application Server erstellen

Samstag 19. Januar 2008 von mha

Folgender Beitrag beschreibt kurz das Einrichten eines JDBC Connection Pools zu einer iSeries (AS400) für den Sun Application Server 9.1 (Glassfish). Als erstes brauchen wir die Toolbox (JT/Open) diese enthält den JDBC Treiber und weitere Tools um auf die i5 zugreifen zu können. Der Download ist hier zu finden: https://sourceforge.net/projects/jt400. Weitere Infos zu der Toolbox gibt es unter: http://jt400.sourceforge.net/. In dem Download ist eine Datei: jt400.jar enthalten diese muß in das Verzeichnis: <sun app svr>\domains\<Domainname>\lib\ext\jt400.jar

Nun wechseln wir in die Adminoberfläche Sun Appsvr, dort auf Resources> JDBC> Connection Pools > New
Name: z.B. i5pool
Resource Type: javax.sql.ConnectionPoolDatasource
Vendor: leer lassen 
auf next klicken
Datasource Name: com.ibm.as400.access.AS400JDBCConnectionPoolDataSource
Dann unten bei Add Property klicken und folgende anlegen:serverName: hostname (z.B. i5.xyz.de)
networkProtocol: tcpip
user: user auf der i5
password: password des users
portNumber: 8471
libraries: z.B.: lib1, lib2, qgpl

Thats it!

Jetzt noch eine JDBC Resource auf den Connection Pool legen und ab gehts!

 WICHTIG!: Alle Files müssen journalisiert werden, auf die man mit Transationen zugreifen möchte, ansonsten gibts einen SQL7008 um die Ohren.

Kategorie: IBM System i | Keine Kommentare »