PDA

View Full Version : DRDA mit Remote SQL Befehl funktioniert nicht mehr



Seiten : [1] 2 3

cs400_de
04-01-10, 16:22
Hallo zusammen,

folgendes Szenario:

Maschine 1: V5R2
Maschine 2: V6R1 (seit letzer Woche)

Auf Maschine1 wird folgender SQL Befehl im Dialog ausgeführt:
CONNECT TO Maschine2 USER u1 USING password
select * from r3emddata/zsyn_ae

WRKACTJOB Anzeige auf der Maschine2:
Subsystem/Job Art Pool Pty CPU Int. Antw. AuxIO CPU %
QRWTSRVR PJ 2 20 37,5 0 0,2
Auf Maschine 1 wird die Tabelle angezeigt. Will ich die Abfrage (auf Maschine1) nun mit B ans Ende schicken, gibt es keine weiteren AUXIO auf der Maschine2. Der Befehl hängt für immer. Der Job QRWTSRVR läuft mit CPU Zeit hoch und muss gecancelt werden.


Ruft man dagegen folgendes auf Maschine 1 auf:

SELECT cast(Matnr as char(18)), CAST(MTART AS CHAR(4)),
CAST(VERSG AS CHAR(1)), CAST(GPNUM AS CHAR(9)),
CAST(DATUM AS CHAR(8))
FROM r3empdata/zsyn_ae
WHERE CAST(MANDT AS CHAR(3)) = '100'
ORDER BY matnr, datum desc

zählt der Job auf der Maschine2 hoch und kommt auch zu einem Ergebnis:

Subsystem/Job Art Pool Pty CPU Int. Antw. AuxIO CPU %
QRWTSRVR PJ 2 20 30,7 38023 2,1

Gut im Dialog ist mir das ganze ja auch egal.
Aber nicht im Embedded RPG.
Hier sollte das tun.

0035.00 C/EXEC SQL
0036.00 C+ DISCONNECT ALL
0037.00 C/END-EXEC
0038.00 C/EXEC SQL
0039.00 C+ RELEASE ALL
0040.00 C/END-EXEC
0041.00 C/EXEC SQL
0042.00 C+ CONNECT TO :H#SQL_SYS USER :H#SQL_USR USING :H#SQL_PWD
0043.00 C/END-EXEC
0044.00 C*
0045.00 C** TEIL 1:
0046.00 C** VERARBEITEN AUFTRAGSEINGANG **************************
0047.00 C*
0048.00 /FREE
0049.00 H#SQL = 'SELECT ' +0050.00 'CAST(MATNR AS CHAR(18)), ' +
0051.00 'CAST(MTART AS CHAR(4)), ' +
0052.00 'CAST(VERSG AS CHAR(1)), ' +
0053.00 'CAST(GPNUM AS CHAR(9)), ' +
0054.00 'CAST(DATUM AS CHAR(8)) ' +
0055.00 'FROM ' + %TRIM(H#SQL_SYS) + '/R3' + H#BEREICH + 'DATA/ZSYN_AE
0056.00 'WHERE ' +
0057.00 'CAST(MANDT AS CHAR(3)) = ''' + H#MANDANT + '''' +
0058.00 ' ORDER BY MATNR, DATUM DESC';0059.00 /END-FREE
0060.00 C*
0061.00 C/EXEC SQL
0062.00 C+ DECLARE C1 CURSOR FOR DYNAMIC_SQL_758
0063.00 C/END-EXEC
0064.00 C/EXEC SQL
0065.00 C+ PREPARE DYNAMIC_SQL_758 FROM :H#SQL0066.00 C/END-EXEC
0067.00 C/EXEC SQL
0068.00 C+ OPEN C1
0069.00 C/END-EXEC
0070.00 C*
0071.00 C** VERARBEITEN SELEKTIERTE SÄTZE
0072.00 C*
0073.00 C DO *HIVAL
0074.00 C*
0075.00 C/EXEC SQL
0076.00 C+ FETCH C1 INTO :H#MATNR ,
0077.00 C+ :H#MTART ,
0078.00 C+ :H#VERSG ,
0079.00 C+ :H#GPNUM ,
0080.00 C+ :H#DATUM
0081.00 C/END-EXEC
0082.00 C*
0083.00 C IF SQLCOD <> 0
0084.00 C LEAVE
0085.00 C ENDIF
0086.00 C*
0087.00 C EXSR WRITE_AZS
0088.00 C*
0089.00 C ENDDO
0090.00 C*
0091.00 C/EXEC SQL
0092.00 C+ CLOSE C1
0093.00 C/END-EXEC
0094.00 C*

Aber leider bleibt auch diese Programmverbindung stehen.
Generell scheint aber die Verbindung von V5R2 nach V6R1 zu klappen. Wir haben noch andere Programme die funktionieren. Deswegen kann ich das Problem auch nicht verstehen.
Das Programm auf der V5R2 Maschine ist auch neu kompiliert und das SQL Package auf der V6R1 Maschine neu erstellt.
Sollte eigentlich alles tun.

Kann mir hier jemand einen Tipp geben?

Grüße

C.Schulz

TARASIK
04-01-10, 18:13
Hallo Herr Schulz,
die Ptfs aus dem Info Apar sind die installiert ?

IBM - II14511 - OSP ISERIES DRDA DDM R610: STATEMENT OF SUPPORT AND LATEST RECOMMENDED PTFS (http://www-01.ibm.com/support/docview.wss?uid=nas2ef187a025bbf20eb86257609003cc5 54)

cs400_de
05-01-10, 12:13
1.) Ich habe noch 2 PTFs (Maschine2 V6R1) gefunden, die etwas mit DRDA zu tun haben. SI37304, SI37410 sind drin aber hilft nichts.


2.) Systemwert QQRYDEGREE von *IO in *NONE geändert. Hilft nichts.


3.) APAR: IBM - II14511 - OSP ISERIES DRDA DDM R610: STATEMENT OF SUPPORT AND LATEST RECOMMENDED PTFS
Sind drin, aber hilft nichts.


Dafür bleiben die Überreste jetzt auf Maschine2 stehen und verursachen Load.


Mit aktiven Jobs arbeiten Maschine2
05.01.10 12:56:22
CPU %: 99,0 Abgelaufene Zeit: 00:00:00 Aktive Jobs: 1050

_Opt__Subsystem/Job__Art___Pool__Pty______CPU__Int___Antw___AuxIO_ _CPU_%________
________QRWTLSTN_____BCH_____2___20_______0,5_____ ______________0____0,0________
________QRWTSRVR_____PJ______2___20___28802,0_____ ______________0___14,5________
________QRWTSRVR_____PJ______2___20___24631,5_____ ______________0___14,9________
________QRWTSRVR_____PJ______2___20___28352,5_____ ______________0___12,4________
________QRWTSRVR_____PJ______2___20___27543,5_____ ______________0___12,4________
________QRWTSRVR_____PJ______2___20___24594,4_____ ______________0___12,4
________QRWTSRVR_____PJ______2___20____2065,7_____ ______________0___12,4________
________QRWTSRVR_____PJ______2___20_______0,0_____ ______________0____0,0__

TARASIK
05-01-10, 14:27
Hallo Herr Schulz,
ich denke das ist dieses Problem:
IBM - SE38374 - OSP-DB-OTHER-F/#CFDATE-T/QRWTBAS-RC5-MSGMCH1867 DRDA ATTEMPTS TO CONVERT A DATE FIELD THAT DOESN'T NEED TO BE CONVERTED. (http://www-01.ibm.com/support/docview.wss?uid=nas2324eaca406928784862575f5003ca1 f5)

cs400_de
05-01-10, 22:55
Hallo,

vielen Dank für den Tipp.
Das PTF, welches hier beschrieben wird, ist schon auf der Maschine2.

Ich werde morgen das neueste Cum auf die V5R2 Maschine spielen und noch ein paar DRDA PTFs.

Danach melde ich mich nochmal.

Grüße

cs400_de
06-01-10, 14:52
Hallo,

ich habe nun auf der Maschine 1 die höchst mögliche Gruppen und Cum PTFs installiert.
Zusätzlich noch
SI26318|SE27758||2007-01-23|38UTIL SELECT * FROM
SI25882|SE27450||2006-12-12|OSP-DB-MSGCPF9190 KERBEROS
SI25841|SE27326||2006-12-22|OSP-DB-MSGMCH3402 MSGCPI8360
SI22701|SE24442||2006-02-24|OSP-DB ENCRYPTION OBJECT NOT
SI27365|SE28672||2007-08-11|OSP-DB-OTHER-F/STRINGHIGHUSE
SI26916|SE28217||2007-04-24|OSP-DB-MSGCPF325E PENDING

Jetzt habe ich mal ein anderes Programm verwendet. Hier ein auszug aus der Umwandlungsliste:

__________________________________________________ ____Spool-Datei_anzeigen____________________________________ __
Datei_._._._._._:___$SRP234_______________________ __________________________________________________ _____Seite/Ze
Steuerung_._._._.___-10________________________________________________ __________________________________Spalten_
Suchen__._._._._.___308___________________________ __________________________________________________ _____________
*...+....1....+....2....+....3....+....4....+....5 ....+....6....+....7....+....8....+....9....+....0 ....+....1...
___297_C___________________CALL______'QSQLOPEN'___ ________________________________SQL_______________ ____01_______
___298_C___________________PARM___________________ _SQLCA__________________________SQL_______________ ____01_______
___299_C___________________PARM___________________ _SQL_00000______________________SQL_______________ ____01_______
___300_C___________________END____________________ ________________________________SQL_______________ ___E01_______
___301_C___________________DOW_______SQLCOD_=_*ZER O_________________________________________________ ___B01_______
___302_C***_______________________________________ __________________________________________________ _____________
___303_C*EXEC_SQL_________________________________ __________________________________________________ _____________
___304_C*_FETCH_NEXT_FROM_REC_DYN_INTO_:ITNR1I,_:T EXT1G,_:BSUN1I,___________________________________ _____________
___305_C*_:WEGH1I,_:WGTU1I________________________ __________________________________________________ _____________
___306_C*END-EXEC______________________________________________ __________________________________________________
___307_C___________________Z-ADD_____-4____________SQLER6_________________________SQL___ 6_______________01_______
___308_C___________________CALL______'QSQROUTE'___ ________________________________SQL_______________ ____01_______
___309_C___________________PARM___________________ _SQLCA__________________________SQL_______________ ____01_______
___310_C___________________PARM___________________ _SQL_00006______________________SQL_______________ ____01_______
___311_C_____SQL_00009_____IFEQ______'1'__________ ________________________________SQL_______________ ___B02_______
___312_C___________________EVAL______ITNR1I_=_SQL_ 00011___________________________SQL_______________ ____02_______
___313_C___________________EVAL______TEXT1G_=_SQL_ 00012___________________________SQL_______________ ____02_______
___314_C___________________EVAL______BSUN1I_=_SQL_ 00013___________________________SQL_______________ ____02_______
___315_C___________________EVAL______WEGH1I_=_SQL_ 00014___________________________SQL_______________ ____02_______


Wenn ich das Programm debugge kann man feststellen, das er ca. 50 Sätze remote holt und dann auf dem Statement 308 stehen bleibt. Dieses Call QSQROUTE wird bei der Umwandlung reincompiliert und stammt von der IBM.

Im WRKACTJOB steht dieser Job dann auf Status: TIMW und das für immer und ewig.

Hoffentlich gibt es hierfür eine Lösung.

Gruß C.Schulz

cs400_de
06-01-10, 15:11
.
.
.
.
.
.


Wer macht noch embedded Remote SQL V5R2 nach V6R1 ??

Sind wir die einzigen?
.
.
.
.
.

Fuerchau
06-01-10, 15:21
Wenn du schon alle PTF's hast musst du wohl einen Call bei der IBM aufmachen, sonst kommst du wohl nicht weiter.

cs400_de
06-01-10, 15:46
.

Einen Call bei IBM hatte ich schon gemacht.
Leider supported IBM V5R2 nicht mehr.
Deswegen kann ich hier weder auf Support noch auf ein PTF hoffen.

Empfehlung: Bringen Sie die Anwendung auf einem supportbaren Release zum Laufen.

Wir müssen dann wohl einen Workaround schaffen.

Gruß

Carsten

Fuerchau
06-01-10, 16:07
So wie es aussieht, liegt der Fehler doch wohl im V6R1 und nicht im V5R2.

Setzte die SQL's mal über eine ODBC-Verbindung (MS-Excel, Opsnav) auf V6R1 ab.