Vklop sledenja
Ko poizvedba ne uspe in Access javi samo „ODBC–connection failed“ ali „ODBC–call failed“, sledenje gonilnika pokaže dejanski razlog: vsako zahtevo storitvi, njen odgovor in sporočilo.
Pregled rešitve
Na voljo sta dve vrsti sledenja, ki se dopolnjujeta:
| Sledenje | Prikaže | Vklop |
|---|---|---|
| gonilnika | kaj gonilnik naredi iz stavka: vsako zahtevo storitvi, odgovor, sporočila, postopek prijave | TRACEFILE=<datoteka> v povezavi ali spremenljivka okolja WKL_ODATA_ODBC_TRACE |
| upravitelja gonilnikov (Windows) | vsak stavek in vsak klic ODBC aplikacije | „ODBC Data Source Administrator“, zavihek „Tracing“ |
Izvedba
- Spremenljivko okolja nastavite za uporabnika, s katerim se izvaja aplikacija, na primer
WKL_ODATA_ODBC_TRACE=%TEMP%\wkl-odbc.txt, ali v niz povezave dodajteTRACEFILE=…. - Aplikacijo znova zaženite; Access okolje in povezavo prebere ob zagonu.
- Ponovite postopek, ki ne uspe, in odprite datoteko.
- Nato sledenje znova izklopite.
Rezultat: za vsak postopek so v datoteki vzpostavitev povezave, zahteve z naslovom, status HTTP in sporočila storitve.
Napotki
- Skrivnosti: niz povezave se pojavi z
***namesto vrednostiAPIKEY,PWD,TOTPinSESSION. Glav zahtev gonilnik ne zapisuje. - Poslovni podatki in osebni podatki: datoteka vsebuje kot navadno besedilo:
- besedilo vsakega stavka aplikacije, tudi vrednosti, ki jih je aplikacija sama zapisala v besedilo – če je tam geslo ali številka stranke, je tudi v datoteki;
- naslove zahtev z vrednostmi iz pogojev in ključi spremenjenih zapisov;
- pri ustvarjanju in spreminjanju telo zahteve, torej polja zapisa z njihovimi vrednostmi;
sporočila storitve in podatkovne zbirke ter prijavljena imena in račune Windows.
V datoteki ni vrstic odgovorov, vrednosti vezanih parametrov posredovanega stavka in glav zahtev. Zamenjava z
***zajame samo te štiri ključne besede niza povezave, ne preostalega besedila.
- Čas: sledenje zapiše eno vrstico na
SQLFetchinSQLGetDatain s tem opazno upočasni branje. Čase zato vedno merite brez njega. - Obvisela aplikacija: vsaka vrstica je takoj v datoteki, tudi če proces nato obvisi. Sledenje upravitelja gonilnikov pa uporablja medpomnilnik, katerega vsebina se ob prisilni prekinitvi izgubi.
- Spremenjena shema: gonilnik naloži
$metadataenkrat na povezavo. Če se shema storitve spremeni, v Accessu posodobite povezavo („External Data“ > „Linked Table Manager“).
Zaščita in posredovanje datoteke
Sledenje je namenjeno iskanju napak, ne trajnemu dnevniku podatkovnega prometa. Z datoteko ravnajte kot z izvlečkom poslovnih podatkov:
| Vprašanje | Vedenje gonilnika | Kaj storite |
|---|---|---|
| Kdo lahko bere datoteko | gonilnik jo ustvari brez lastnih dovoljenj; podeduje dovoljenja mape | izberite mapo, ki jo lahko bere samo uporabnik, na primer %TEMP%, ne skupnega pogona |
| Več programov hkrati | vsak proces dodaja v isto datoteko in pusti drugim, da pišejo zraven; vrstice vsebujejo čas in nit, ne pa številke procesa | za vsak program ali poskus nastavite lastno ime datoteke, sicer se vrstice pomešajo |
| Kako dolgo raste | gonilnik samo dodaja; datoteke nikoli ne skrajša, zamenja ali izbriše | po iskanju napak izklopite in izbrišite |
| Posredovanje skrbniku | – | datoteko prej preglejte, odstranite zapise brez povezave z napako, posredujte jo po poti, ki je dovoljena za osebne podatke, in jo nato izbrišite na obeh straneh |