Zitat Zitat von Tabby Beitrag anzeigen
kann ich irgendwo auf der AS400 sehen wer per ODBC auf die Daten zugreift?
Hallo,
wenn Du etwas basteln willst, nimm folgendes CL als Grundlage:

Code:
/*-------------------------------------------------------------------*/
/*‚DATENBANK-SERVER SQL EXIT PROGRAM                                €*/
/*-------------------------------------------------------------------*/
             PGM        PARM(&STATUS &REQUEST)

             DCL        VAR(&STATUS)   TYPE(*CHAR) LEN(1)
             DCL        VAR(&REQUEST)  TYPE(*CHAR) LEN(2000)
             DCL        VAR(&USER)     TYPE(*CHAR) LEN(10)
             DCL        VAR(&SERVER)   TYPE(*CHAR) LEN(10)
             DCL        VAR(&FORMAT)   TYPE(*CHAR) LEN(8)
             DCL        VAR(&PKG)      TYPE(*CHAR) LEN(10)
             DCL        VAR(&PKGLIB)   TYPE(*CHAR) LEN(10)
             DCL        VAR(&SQL)      TYPE(*CHAR) LEN(512)
             DCL        VAR(&TEXT)     TYPE(*CHAR) LEN(800)
             DCL        VAR(&TEXT1)    TYPE(*CHAR) LEN(75)
             DCL        VAR(&D)        TYPE(*CHAR) LEN(30)
             DCL        VAR(&DATUM)    TYPE(*CHAR) LEN(6)
             DCL        VAR(&ZEIT)     TYPE(*CHAR) LEN(6)
             DCL        VAR(&MSGQ)     TYPE(*CHAR) LEN(10) VALUE(SQLLOGS)
             DCL        VAR(&MSGQLIB)  TYPE(*CHAR) LEN(10) VALUE(QGPL)
             DCL        VAR(&LOGDAT) TYPE(*CHAR) LEN(8) VALUE(' ')
             DCL        VAR(&LOGTIM) TYPE(*CHAR) LEN(8) VALUE(' ')

             MONMSG     MSGID(CPF0000 MCH0000)
             CHGJOB     JOB(*) LOGCLPGM(*NO)

             CHGVAR     VAR(&USER)   VALUE(%SST(&REQUEST  1 10))
             CHGVAR     VAR(&SERVER) VALUE(%SST(&REQUEST 11 10))
             CHGVAR     VAR(&FORMAT) VALUE(%SST(&REQUEST 21  8))

             CHGVAR     VAR(&PKG)     VALUE(%SST(&REQUEST 73  10))
             CHGVAR     VAR(&PKGLIB)  VALUE(%SST(&REQUEST 83  10))
             CHGVAR     VAR(&SQL)     VALUE(%SST(&REQUEST 96 512))

             RTVSYSVAL  SYSVAL(QDATE) RTNVAR(&DATUM)
             RTVSYSVAL  SYSVAL(QTIME) RTNVAR(&ZEIT)

             IF         COND(&ZEIT *LT '010000') THEN(DO)
             RTVSYSVAL  SYSVAL(QDATE) RTNVAR(&DATUM)
             ENDDO

             CVTDAT     DATE(&DATUM) TOVAR(&D) FROMFMT(*SYSVAL) +
                          TOFMT(*SYSVAL) TOSEP(*SYSVAL)
             CVTDAT     DATE(&DATUM) TOVAR(&LOGDAT) FROMFMT(*SYSVAL) +
                          TOFMT(*SYSVAL) TOSEP(*SYSVAL)
             CHGVAR     VAR(&LOGTIM) VALUE(%SST(&ZEIT 1 2) *CAT ':' +
                          *CAT %SST(&ZEIT 3 2) *CAT ':' *CAT +
                          %SST(&ZEIT 5 2))

             CHGVAR     VAR(&D) VALUE(&D *BCAT %SST(&ZEIT 1 2) *CAT +
                          ':' *CAT %SST(&ZEIT 3 2) *CAT ':' *CAT +
                          %SST(&ZEIT 5 2))

             CHGVAR     VAR(&TEXT1) VALUE(&D *BCAT &USER)              +

             IF         COND(&PKG *NE ' ') THEN(CHGVAR VAR(&TEXT1) +
                          VALUE(&TEXT1 *BCAT &PKGLIB *TCAT '/' +
                          *TCAT &PKG))

             CHGVAR     VAR(&TEXT) VALUE(&TEXT1 *BCAT &SQL)

             MONMSG     MSGID(CPF0000) EXEC(DO)
  SNDMSG     MSG('!! ADDSQLLOG: ' *TCAT &SQL) TOUSR(QSYSOPR)

             ENDPGM
Das Ganze dann in den Exit-Punkt QIBM_QZDA_SQL1

-h