I mange DB2 Universal Database til OS/390-installationer findes procedurer til ressourceovervågning, så den systemansvarlige kan relatere ressourceforbruget til individuelle brugere. Det kan bruges til at opkræve betaling fra enkeltbrugere eller afdelinger for de ressourcer, de bruger. Denne fremgangsmåde kaldes her forbrugsregistrering.
DB2 Connect giver den systemansvarlige mulighed for at overvåge de databaseressourcer på værtssystemet, som brugerne benytter via DB2 Connect. Du kan bruge forbrugs-id'er (accounting strings) til at sende data om forbrug fra DB2 Connect til DB2-databaseserveren. En forbrugs-id kombinerer systemgenererede data med data fra brugeren. Vha. disse data kan den systemansvarlige registrere ressourceforbruget for hver brugers adgang og opkræve betaling.
Forbrugs-id'en sendes vha. DRDA-parameteren PRDDTA. Da indholdet af parameteren ikke er beskrevet i DRDA-arkitekturen, er der ingen garanti for, at applikationsserveren kan genkende data som forbrugsdata. For øjeblikket understøttes PRDDTA udelukkende på MVS- og OS/390-systemer. Data gemmes som en forbrugs-record.
Forbrugs-id'en består af 56 byte, der dannes af DB2 Connect (præfikset), fulgt af op til 199 byte, der angives af brugeren (suffikset), hvilket giver en maksimal længde på 255.
I Tabel 3 vises de systemgenererede felter. Højre side af hvert
felt udfyldes med blanktegn.
Tabel 3. Felter i forbrugs-id'en, der dannes af DB2 Connect
Feltnavn | Længde | Beskrivelse |
---|---|---|
acct_str_len | 1 | En hexadecimal værdi, der angiver længden på forbrugs-id'en minus 1, f.eks. X'3C'. |
client_prdid | 8 | Produkt-id'en for klientprogrammet. Produkt-id'en for DB2 Universal Database Version 7 er f.eks. SQL07010. |
client_platform | 18 | Klientplatformen, f.eks. AIX, OS/2, DOS eller Windows. |
client_appl_name | 20 | De første 20 tegn i brugerens applikationsnavn, f.eks. Loenregnskab. |
client_authid | 8 | Autorisations-id'en for brugerens applikation, f.eks. JENSEN. |
suffix_len | 1 | En hexadecimal værdi, der angiver længden på den del, der leveres af brugeren (suffikset). X'00' betyder, at der ikke er noget suffiks. |
Det brugerdefinerede suffiks indholder en af følgende værdier:
Hvis suffikset er længere end 199 tegn, afkortes det. For at sikre at forbrugs-id'en konverteres korrekt, når den overføres til værts- eller AS/400-databaseserveren, bør du kun benytte følgende tegn: A-Z, 0-9 og understregning (_).
Det anbefales at benytte API-metoden til at angive forbrugs-id'en. Applikationen skal kalde API'et, inden den opretter forbindelse til en database. Kald API'et igen, hvis du vil ændre forbrugs-id'en undervejs, f.eks. hvis du vil sende andre data, når du opretter forbindelse til en anden database. I modsat fald gælder forbrugs-id'en, indtil applikationen afsluttes.
Hvis API'et sqlesact() ikke kaldes, inden den første databaseforbindelse oprettes, kaldes systemvariablen DB2ACCOUNT. Forbrugs-id'en gælder, indtil applikationen eller baggrundsprocessen fra DB2-kommandolinien afsluttes. Hvis du vil angive en ny forbrugs-id efter den første databaseforbindelse, skal du enten bruge sqlesact()-API'et eller afslutte applikationen eller baggrundsprocessen fra DB2-kommandolinieen og genstarte den, efter at DB2ACCOUNT er sat til den nye værdi.
Hvis der ikke er defineret en DB2ACCOUNT-værdi, bruges værdien af konfigurationsparameteren DFT_ACCOUNT_STR. Det kan være nyttigt for databaseklienter, der ikke har mulighed for at sende en forbrugs-id til DB2 Connect. Hvis denne værdi ikke findes, sendes en tom streng.
Nedenfor vises eksempler på forbrugs-id'er:
x'3C'SQL07010OS/2 check JENSEN x'05'DEPT1 x'37'SQL07010OS/2 check JENSEN x'00'
I første eksempel er det brugerdefinerede suffiks AFD1. I det andet eksempel er det en tom streng.