Bratmaxxe
14-03-14, 06:32
Moin,
wir planen den Umstieg auf das Release V7R1 und haben hierzu eine Testmaschine zur Verfügung gestellt, auf der unsere IT ihre technsichen Programmtests laufen lässt.
Jetzt sind wir auf einige Probleme gestoßen, die unter V5R4 nicht auftraten:
1.) Eine SQL Anweisung funktioniert nicht mehr:
- eine Tabelle "TEST" enhtält eine Spalte (FIELD1) die als INTEGER definiert ist
select * from test where field1 > ' ' resultiert in einem "Umsetzungsfehler bei Variable oder Parameter *N."
Dieses Select kann leider von uns nicht angepasst werden, da es eine Kaufsoftware ist, die nicht mehr supported wird.
Weiß jemand ob hier was am impliziten cast geändert wurde, oder sowas überhaupt konfigurierbar ist??
2.) Eine 2 Phase commit funktioniert bei einer Stored Procedure nicht mehr und bricht mit einer "class java.sql.SQLException: Cursor state not valid" ab:
Der Aufruf der Stored Procedure schlägt lediglich innerhalb einer 2-Phase-Commit Transaktion (Treiberklasse: com.ibm.as400.access.AS400JDBCXADataSource) fehl, nicht in einer 1-Phase-Commit Transaktion (Treiberklasse: com.ibm.as400.access.AS400JDBCConnectionPoolDataSo urce).
In unseren Application Servern setzen wir 2-Phase-Commit Transaktionen ein.
Die Stored Procedure ist unter V5R4 wie folgt erstellt worden und funktioniert dort tadellos:
CREATE PROCEDURE PGM/MYPGM(IN P1 CHAR ( 3), IN P2 CHAR
(2 )) NOT DETERMINISTIC READS SQL DATA EXTERNAL NAME MYPGM
PARAMETER STYLE GENERAL WITH NULLS
CRTSQLRPGI OBJ(PGM/MYPGM) SRCFILE(PGMSRC/QRPGLESRC) COMMIT(
*NONE)
OUTPUT(*PRINT) OPTION(*XREF *SEQSRC) CLOSQLCSR(*ENDMOD) DBGVIEW(
*SOURCE)
Über den ein oder anderen Rat / Tipp würde ich mich freuen...
Schönes Wochenende
Gruß Max
wir planen den Umstieg auf das Release V7R1 und haben hierzu eine Testmaschine zur Verfügung gestellt, auf der unsere IT ihre technsichen Programmtests laufen lässt.
Jetzt sind wir auf einige Probleme gestoßen, die unter V5R4 nicht auftraten:
1.) Eine SQL Anweisung funktioniert nicht mehr:
- eine Tabelle "TEST" enhtält eine Spalte (FIELD1) die als INTEGER definiert ist
select * from test where field1 > ' ' resultiert in einem "Umsetzungsfehler bei Variable oder Parameter *N."
Dieses Select kann leider von uns nicht angepasst werden, da es eine Kaufsoftware ist, die nicht mehr supported wird.
Weiß jemand ob hier was am impliziten cast geändert wurde, oder sowas überhaupt konfigurierbar ist??
2.) Eine 2 Phase commit funktioniert bei einer Stored Procedure nicht mehr und bricht mit einer "class java.sql.SQLException: Cursor state not valid" ab:
Der Aufruf der Stored Procedure schlägt lediglich innerhalb einer 2-Phase-Commit Transaktion (Treiberklasse: com.ibm.as400.access.AS400JDBCXADataSource) fehl, nicht in einer 1-Phase-Commit Transaktion (Treiberklasse: com.ibm.as400.access.AS400JDBCConnectionPoolDataSo urce).
In unseren Application Servern setzen wir 2-Phase-Commit Transaktionen ein.
Die Stored Procedure ist unter V5R4 wie folgt erstellt worden und funktioniert dort tadellos:
CREATE PROCEDURE PGM/MYPGM(IN P1 CHAR ( 3), IN P2 CHAR
(2 )) NOT DETERMINISTIC READS SQL DATA EXTERNAL NAME MYPGM
PARAMETER STYLE GENERAL WITH NULLS
CRTSQLRPGI OBJ(PGM/MYPGM) SRCFILE(PGMSRC/QRPGLESRC) COMMIT(
*NONE)
OUTPUT(*PRINT) OPTION(*XREF *SEQSRC) CLOSQLCSR(*ENDMOD) DBGVIEW(
*SOURCE)
Über den ein oder anderen Rat / Tipp würde ich mich freuen...
Schönes Wochenende
Gruß Max