Brukerhåndbok


Sporingsfunksjon (ddcstrc)

Funksjonen ddcstrc inneholder et register over dataene som ble utvekslet mellom DB2 Connect-arbeidsstasjonen (på vegne av databaseklienten) og styresystemet for verts- eller AS/400-databasetjeneren.

Som databaseansvarlig (eller applikasjonsutvikler) kan det være nyttig å forstå hvordan denne dataflyten fungerer, siden det kan hjelpe deg å finne ut årsaken til et bestemt problem. Tenk deg at du utsteder databasesetningen CONNECT TO for en verts- eller AS/400-databasetjener, men kommandoen mislykkes og du mottar en returkode som indikerer feil. Hvis du forstår nøyaktig hvilken informasjon som ble formidlet til styresystemet for verts- eller AS/400-databasetjeneren, kan du finne årsaken til feilen selv om returkodeinformasjonen er generell. Mange feil skyldes enkle brukerfeil.

Utdata fra ddcstrc viser datastrømmene som ble utvekslet mellom DB2 Connect-arbeidsstasjonen og styresystemet for verts- eller AS/400-databasetjeneren. Data som ble sent til verts- eller AS/400-databasetjeneren, blir kalt SEND BUFFER og data som blir mottatt fra verts- eller AS/400-databasetjeneren, blir kalt RECEIVE BUFFER.

Hvis en mottaksbuffer inneholder SQLCA-informasjon, blir den etterfulgt av en formatert tolkning av disse dataene og kalt SQLCA. SQLCODE-feltet for en SQLCA-verdi er den ukonverterte verdien som blir returnert av verts- eller AS/400-databasetjeneren. (Du finner flere opplysninger om konvertering i SQLCODE-konvertering.) Sende- og mottaksbufferne blir sortert fra den eldste til den nyeste i filen. Hver buffer har:

Resten av dataene i sende- og mottaksbuffere er delt inn i fem kolonner, som består av:

Du finner flere opplysninger om DDM i:

Sporingssyntaks

Denne kommandoen blir startet fra operativsystemklarmeldingen med denne syntaksen:

Figur 9. Syntaks for ddcstrc-kommandoen


Figure 00003491 not displayed.

Merk:Syntaksen til denne kommandoen kan variere avhengig av hvilket operativsystem du bruker. For OS/2 kan for eksempel / brukes i stedet for -.

Sporingsparametere

on
Slår på DB2 Connect-sporing av DRDA-flyt med verts- eller AS/400-databasetjeneren.

off
Slår av DB2 Connect-sporing av DRDA-flyt med verts- eller AS/400-databasetjeneren.

-i
Systemtiden blir tatt med i sporingsopplysningene.

-r
Sporer DRDA-datastrømmer som ble mottatt fra verts- eller AS/400-tjeneren.

-s
Sporer DRDA-datastrømmer som ble sendt til verts- eller AS/400-databasetjeneren.

-c
Sporer SQLCA-verdien som ble mottatt fra verts- eller AS/400-databasetjeneren.

Standardverdien er -r, -s og -c.

-l=lengde
Oppgir størrelsen på bufferen som blir brukt til å lagre sporingsopplysningene. Standardverdien er 1 MB og minimumsverdien er 64 kB.

-t=sporingsfil
Oppgir plasseringen for sporingen, sporingsfil kan være navnet på en fil eller en standardenhet. Hvis det blir oppgitt et filnavn uten en fullstendig bane, blir den gjeldende banen brukt for delene som mangler. Standard filnavn er ddcstrc.dmp.

-p=pid
Sporer bare aktivitetene for denne prosessen. Hvis -p ikke blir oppgitt, blir alle prosessene for brukerforekomsten skrevet til utdatafilen.
Merk:For en fjerntliggende klient kan du finne pid i feltet for agent-ID som databasesystemovervåkeren returnerer.
Du finner flere opplysninger i Databasesystemovervåker.

Sporingsutdata

ddcstrc-funksjonen skriver disse opplysningene til sporingsfilen:

Merknader:

  1. Verdien null for utgangskoden angir at kommandoen ble fullført på en vellykket måte, og en verdi forskjellig fra null angir at den ikke ble fullført.

  2. Feltene som ble returnert, varierer på grunnlag av APIen som ble brukt. APIen for SNA blir bare brukt for SPM-tilkoblinger med to PCer.

  3. Feltene som ble returnert, varierer på grunnlag av plattformen som DB2 Connect kjører på, selv for den samme APIen.

  4. Hvis ddcstrc sender utdataene til en fil som allerede finnes, blir den gamle filen slettet med mindre filtillatelsene ikke tillater at den blir slettet.

Analysere sporingsutdatafilen

Sidene som følger, viser utdataeksempler som illustrerer noen DRDA-datastrømmer som blir utvekslet mellom DB2 Connect-arbeidsstasjonene og en verts- eller AS/400-databasetjener. Fra brukerens synspunkt er det utført en CONNECT TO-databasekommando ved hjelp av kommandolinjebehandleren.

I Figur 10 ser du et eksempel på DB2 Connect Enterprise Edition versjon 7 og DB2 Universal Database for OS/390 versjon 5.1 over en APPC-tilkobling.

I Figur 11 ser du et eksempel på DB2 Connect Enterprise Edition versjon 7 og DB2 Universal Database for OS/390 versjon 5.1 over en TCP/IP-tilkobling.

Figur 10. Eksempel på sporingsutdata (APPC-tilkobling)

1       DB2 fnc_data      gateway_drda_ar      sqljcsend (1.35.10.80)
        pid 95212; tid 537115484; node 0; cpid 0; sec 0; nsec 0; tpoint 177
 
        SEND BUFFER:  EXCSAT RQSDSS         (ASCII)           (EBCDIC)
         0 1 2 3 4 5 6 7  8 9 A B C D E F   0123456789ABCDEF  0123456789ABCDEF
  0000  006AD04100010064 10410020115E8482   .j.A...d.A. .^..  .|}..........;db
  0010  F282974040404040 4040404040404040   ...@@@@@@@@@@@@@  2bp
  0020  4040F0F0F0F1F7F3 C5C3000C116DA685   @@...........m..    000173EC..._we
  0030  81A2859340400013 115AC4C2F240C396   ....@@...Z...@..  asel  ...]DB2 Co
  0040  95958583A340F54B F200141404140300   .....@.K........  nnect 5.2.......
  0050  0414440003240700 05240F0003000D11   ..D..$...$......  ................
  0060  47D8C4C2F261F6F0 F0F00085D0010002   G....a..........  .QDB2/6000.e}...
  0070  007F200100162110 E2C1D56DC6D9C1D5   .. ...!....m....  ."......SAN_FRAN
  0080  C3C9E2C3D6404040 40400006210F2407   .....@@@@@..!.$.  CISCO     ......
  0090  000D002FD8E3C4E2 D8D3C1E2C3000C11   .../............  ....QTDSQLASC...
  00A0  2EE2D8D3F0F5F0F2 F0003C210437E2D8   ..........
3       DB2 fnc_data      gateway_drda_ar      sqljcsend (1.35.10.80)
        pid 95212; tid 537115484; node 0; cpid 0; sec 0; nsec 0; tpoint 177
 
        SEND BUFFER:  RDBCMM  RQSDSS        (ASCII)           (EBCDIC)
         0 1 2 3 4 5 6 7  8 9 A B C D E F   0123456789ABCDEF  0123456789ABCDEF
  0000  000AD00100010004 200E               ........ .        ..}.......
 
4       DB2 fnc_data      gateway_drda_ar      sqljcrecv (1.35.10.81)
        pid 95212; tid 537115484; node 0; cpid 0; sec 0; nsec 0; tpoint 178
 
        RECEIVE BUFFER:  ENDUOWRM RPYDSS    (ASCII)           (EBCDIC)
         0 1 2 3 4 5 6 7  8 9 A B C D E F   0123456789ABCDEF  0123456789ABCDEF
  0000  002BD05200010025 220C000611490004   .+.R...%"....I..  ..}.............
  0010  00162110E2C1D56D C6D9C1D5C3C9E2C3   ..!....m........  ....SAN_FRANCISC
  0020  D640404040400005 211501000BD00300   .@@@@@..!.......  O     .......}..
  0030  0100052408FF                        ...$..            ......
 
5       DB2 fnc_data      gateway_drda_ar      sqljmsca (1.35.10.108)
        pid 95212; tid 537115484; node 0; cpid 0; sec 0; nsec 0; tpoint 179
SQLCA
 
        SQLCAID:  SQLCA
        SQLCABC:  136
        SQLCODE:  0
        SQLERRML: 0
        SQLERRMC:
        SQLERRP:  DSN
        SQLERRD[0->5]: 00000000, 00000000, 00000000, 00000000, 00000000, 00000000
        SQLWARN(0->A):  ,  ,  ,  ,  ,  ,  ,  ,  ,  ,
        SQLSTATE: 00000

Figur 11. Eksempel på sporingsutdata (TCP/IP-tilkobling)

1       DB2 fnc_data      gateway_drda_ar      sqljcsend (1.35.10.80)
        pid 80286; tid 537125164; node 0; cpid 0; sec 0; nsec 0; tpoint 177
 
        SEND BUFFER:  EXCSAT RQSDSS         (ASCII)           (EBCDIC)
         0 1 2 3 4 5 6 7  8 9 A B C D E F   0123456789ABCDEF  0123456789ABCDEF
  0000  006ED04100010068 10410020115E8482   .n.A...h.A. .^..  .>}..........;db
  0010  F282974040404040 4040404040404040   ...@@@@@@@@@@@@@  2bp
  0020  4040F0F0F0F1F3F9 F9C5000C116DA685   @@...........m..    0001399E..._we
  0030  81A2859340400013 115AC4C2F240C396   ....@@...Z...@..  asel  ...]DB2 Co
  0040  95958583A340F54B F200181404140300   .....@.K........  nnect 5.2.......
  0050  0514740005240700 05240F0003144000   ..t..$...$....@.  .............. .
  0060  05000D1147D8C4C2 F261F6F0F0F00010   ....G....a......  .....QDB2/6000..
  0070  D0410002000A106D 000611A20003003C   .A.....m.......<  }......_...s....
  0080  D04100030036106E 000611A200030016   .A...6.n........  }......>...s....
  0090  2110E2C1D56DC6D9 C1D5C3C9E2C3D640   !....m.........@  ..SAN_FRANCISCO
  00A0  40404040000C11A1 9781A2A2A6969984   @@@@............      ....password
  00B0  000A11A0A4A28599 8984009CD0010004   ................  ....userid..}...
  00C0  0096200100162110 E2C1D56DC6D9C1D5   .. ...!....m....  .o......SAN_FRAN
  00D0  C3C9E2C3D6404040 40400006210F2407   .....@@@@@..!.$.  CISCO     ......
  00E0  000D002FD8E3C4E2 D8D3C1E2C3000C11   .../............  ....QTDSQLASC...
  00F0  2EE2D8D3F0F5F0F2 F0003C210437E2D8   ..........
3       DB2 fnc_data      gateway_drda_ar      sqljcsend (1.35.10.80)
        pid 80286; tid 537125164; node 0; cpid 0; sec 0; nsec 0; tpoint 177
 
        SEND BUFFER:  RDBCMM  RQSDSS        (ASCII)           (EBCDIC)
         0 1 2 3 4 5 6 7  8 9 A B C D E F   0123456789ABCDEF  0123456789ABCDEF
  0000  000AD00100010004 200E               ........ .        ..}.......
 
4       DB2 fnc_data      gateway_drda_ar      sqljcrecv (1.35.10.81)
        pid 80286; tid 537125164; node 0; cpid 0; sec 0; nsec 0; tpoint 178
 
        RECEIVE BUFFER:  ENDUOWRM RPYDSS    (ASCII)           (EBCDIC)
         0 1 2 3 4 5 6 7  8 9 A B C D E F   0123456789ABCDEF  0123456789ABCDEF
  0000  002BD05200010025 220C000611490004   .+.R...%"....I..  ..}.............
  0010  00162110E2C1D56D C6D9C1D5C3C9E2C3   ..!....m........  ....SAN_FRANCISC
  0020  D640404040400005 211501000BD00300   .@@@@@..!.......  O     .......}..
  0030  0100052408FF                        ...$..            ......
 
5       DB2 fnc_data      gateway_drda_ar      sqljmsca (1.35.10.108)
        pid 80286; tid 537125164; node 0; cpid 0; sec 0; nsec 0; tpoint 179
SQLCA
 
        SQLCAID:  SQLCA
        SQLCABC:  136
        SQLCODE:  0
        SQLERRML: 0
        SQLERRMC:
        SQLERRP:  DSN
        SQLERRD[0->5]: 00000000, 00000000, 00000000, 00000000, 00000000, 00000000
        SQLWARN(0->A):  ,  ,  ,  ,  ,  ,  ,  ,  ,  ,
        SQLSTATE: 00000

Disse opplysningene blir registrert i sporingene:

Den første bufferen inneholder kommandoene EXCSAT (Exchange Server Attributes) og ACCRDB (Access RDB), som ble sendt til styresystemet for verts- eller AS/400-databasetjeneren. De sendes som et resultat av en CONNECT TO-databasekommando.

Den neste bufferen inneholder svaret som DB2 Connect mottok fra styresystemet til verts- eller AS/400-databasetjeneren. Det inneholder kommandoen EXCSATRD (Exchange Server Attributes Reply Data) og ACCRDBRM (Access RDB Reply Message).

Analysere EXCSAT og ACCRDB

EXCSAT-kommandoen inneholder arbeidsstasjonsnavnet for klienten som ble oppgitt av objektet SRVNAM (Server Name), som i følge DDM-spesifikasjonen er kodeverdien X'116D'. EXCSAT-kommandoen ligger i den første bufferen. I EXCSAT-kommandoen blir X'116DA68581A28593'-verdiene (kodet i CCSID 500) konvertert til weasel når X'116D' blir fjernet.

EXCSAT-kommandoen inneholder også objektet EXTNAM (External Name), som ofte blir tatt med i feilsøkingsinformasjon i styresystemet for verts- eller AS/400-databasetjeneren. Det består av en applikasjons-ID på 20 byte etterfulgt av en prosess-ID på 8 byte (eller prosess-ID på 4 byte og tråd-ID på 4 byte). Den blir representert av kodeverdien X'115E', og i dette eksempelet er verdien db2bp_32 fylt ut med blanktegn og etterfulgt av 0000BE5C. På en UNIX-basert databaseklient kan denne verdien korreleres med ps-kommandoen, som returnerer prosesstatusinformasjon om aktive prosesser til standard utdata.

ACCRDB-kommandoen inneholder RDB_NAME i RDBNAM-objektet, som er kodeverdi X'2110'. ACCRDB-kommandoen etterfølger EXCSAT-kommandoen i den første bufferen. I ACCRDB-kommandoen blir X'2110E2C1D56DC6D9C1D5C3C9E2C3D6'-verdiene konvertert til SAN_FRANCISCO når X'2110' blir fjernet. Dette tilsvarer feltet for navn på måldatabase i DCS-katalogen.

Registreringsstrengen har kodeverdien X'2104' (les Implementere bruk av belastningskonto i DB2 Universal Database for OS/390).

Kodesettet som er konfigurert for DB2 Connect-arbeidsstasjonen, blir vist ved å finne CCSID-objektet CCSIDSBC (CCSID for enkeltbytetegn) med kodeverdien X'119C' i ACCRDB-kommandoen. I dette eksempelet er CCSIDSBC X'0352', som er 850.

Hvis CCSIDDBCen for tilleggsobjekter (CCSID for dobbeltbytetegn) og CCSIDMBC (CCSID for tegn med blandede byte), med henholdsvis kodeverdien X'119D' og X'119E', finnes, er DB2 Connect-arbeidsstasjonen konfigurert for DBCS-kodesettstøtte. Siden eksempelutdatafilen ikke inneholder de to tilleggskodeverdiene, er ikke arbeidsstasjonen konfigurert for dobbeltbytetegnsett (DBCS).
Merk:TCP/IP-flyt inneholder to nye kommandoer: ACCSEC som blir brukt til å få tilgang til sikkerhetsstyreren og utveksle støttede sikkerhetsmetoder, og SECCHK, som inneholder autentiseringssymbolene som blir brukt til å autentisere sluttbrukeren for tilkoblingen. ACCSEC og SECCHK blir bare vist i TCP/IP-tilkoblinger, mellom EXCSAT og ACCRDB.

Analysere EXCSATRD og ACCRDBRM

CCSID-verdier blir også returnert fra verts- eller AS/400-databasetjeneren i ACCRDBRM (Access RDB Reply Message) i den andre bufferen. Denne bufferen inneholder EXCSATRD etterfulgt av ACCRDBRM. Eksempelutdatafilen inneholder CCSID-verdien 500 (X'01F4', SBCS CCSID) for verts- eller AS/400-databasetjeneren.

Hvis DB2 Connect ikke gjenkjenner kodesettet som blir returnert fra verts- eller AS/400-databasetjeneren, blir SQLCODE -332 returnert til brukeren med kilde- og målkodesettet. Hvis verts- eller AS/400-databasetjeneren ikke gjenkjenner kodesettet som ble sendt fra DB2 Connect, returnerer den VALNSPRM (parameterverdien er ikke støttet, med DDM-kodeverdien X'1252'), som blir konvertert til SQLCODE -30073 for brukeren.

ACCRDBRM inneholder også parameteren PRDID (produkt-ID, med kodeverdien X'112E'). Verdien er X'C4E2D5F0F5F0F1F0'. Denne heksadesimale strengen tilsvarer DSN05010 i EBCDIC. Standardene tilsier at DSN er DB2 for MVS/ESA eller DB2 Universal Database for OS/390. Versjonen, 5.1, er også angitt. ARI er DB2 for VSE & VM, SQL er DB2-standardtjener og QSQ er DB2 Universal Database for AS/400.

Analysere påfølgende buffere

Du kan analysere tilleggsinformasjon i påfølgende sende- og mottaksbuffere. Den tredje bufferen inneholder en iverksetting. Kommandoen commit ber styresystemet til verts- eller AS/400-databasetjeneren om å iverksette den gjeldende arbeidsenheten (UOW). Den fjerde bufferen blir mottatt fra styresystemet til verts- eller AS/400-databasetjeneren som et resultat av en iverksetting eller tilbakestilling. Den inneholder ENDUOWRM (End Unit of Work Reply Message), som angir at den gjeldende arbeidsenheten ble avsluttet. I dette eksempelet inneholder den en SQLCA-nullverdi, som blir angitt av DDM-kodeverdien X'2408' etterfulgt av X'FF'. En SQLCA-nullverdi (X'2408FF') angir at fullføringen var vellykket (SQLCODE 0). Når en mottaksbuffer inneholder en SQLCA-verdi (for eksempel en SQLCA-nullverdi), blir denne mottaksbufferen etterfulgt av en formatert tolkning av SQLCA-informasjonen.

I Figur 12 ser du et eksempel på en mottaksbuffer som inneholder en SQLCA-feil, og den formaterte visningen av SQLCA-verdien. Denne SQLCA-verdien er resultatet av et forsøk på å slette rader fra en tabell som ikke finnes.

Figur 12. Eksempel på mottaksbuffer

1       DB2 fnc_data      gateway_drda_ar      sqljcrecv (1.35.10.81)
        pid 48732; tid 1; node 0; cpid 0; sec 0; nsec 0; tpoint 178        
 
        RECEIVE BUFFER:  SQLCARD OBJDSS     (ASCII)           (EBCDIC)
         0 1 2 3 4 5 6 7  8 9 A B C D E F   0123456789ABCDEF  0123456789ABCDEF
  0000  0065D0030001005F 240800FFFFFF34F4   .e....._$.....4.  ..}....^.......4    
  0010  F2F7F0F4C4E2D5E7 D6E3D34000E2C1D5   ...........@....  2704DSNXOTL .SAN    
  0020  6DC6D9C1D5C3C9E2 C3D64040404040FF   m.........@@@@@.  _FRANCISCO     .    
  0030  FFFE0C0000000000 000000FFFFFFFF00   ................  ................    
  0040  0000000000000040 4040404040404040   .......@@@@@@@@@  .......    
  0050  40400000000FC4C4 C3E2E4E2F14BD4E8   @@...........K..    ....DDCSUS1.MY
  0060  E3C1C2D3C5                          .....             TABLE
               
2       DB2 fnc_data      gateway_drda_ar      sqljmsca (1.35.10.108) 
        pid 48732; tid 1; node 0; cpid 0; sec 0; nsec 0; tpoint 179             
SQLCA
 
        SQLCAID:  SQLCA
        SQLCABC:  136                                                           
        SQLCODE:  -204                                                           
        SQLERRML: 15                                                            
        SQLERRMC: DDCSUS1.MYTABLE
        SQLERRP:  DSNXOTL                                                 
        SQLERRD[0->5]: FFFFFE0C, 00000000, 00000000, FFFFFFFF, 00000000, 00000000
        SQLWARN(0->A):  ,  ,  ,  ,  ,  ,  ,  ,  ,  ,
        SQLSTATE: 42704


[ Øverst på siden | Forrige side | Neste side | Innholdsfortegnelse | Stikkordregister ]