Barvna shema: Temna
Trenutno dejavna stran: start » sl » Dokumentacija » Integracija podatkov in dostop do podatkov » WKL Database Gateway » Odjemalec .NET Wkl.Data.Gateway.Client – pregled » Referenčni priročnik » Omejitve in lastnosti (referenca)

Omejitve in lastnosti (referenca)

Omejitve

  • Imena zbirk podatkov klicatelju niso vidna. Klicatelj navede odobreno ime aliasa; razrešitev se zgodi v prehodu.
  • Filtrirajte v prehodu, ne v odjemalcu. Izbira, filter, razvrščanje in razdelitev na strani spadajo v poizvedbo. Prehod na zahtevo vrne največ eno okno do svoje zgornje meje; kdor naloži celotno tabelo, da bi jo filtriral v odjemalcu, potrebuje toliko zahtev, kolikor ima tabela oken, in prenese vsako vrstico, ki jo nato zavrže.
  • Brez ponavljanja. Prekoračitev časovne omejitve pri klicanju ne pomeni, da ni bilo nič zapisano – odjemalec je nehal čakati, transakcija pa se je izvajala naprej. To velja za TimedOut in enako za Unavailable, če se je povezava med klicem prekinila ali je odjemalec obupal po WriteTimeout. Samodejni drugi poskus bi ponovil morebiti že potrjeno transakcijo. Podatkovni prehod sicer podpira glavo Idempotency-Key, s katero ponovitev dobi shranjeni prvi odgovor; odjemalec je ne pošilja. Razlog: prehod te odgovore hrani samo deset minut in samo v delovnem pomnilniku. Po ponovnem zagonu prehoda ali daljšem premoru bi se ponovitev vendarle izvedla še enkrat, klicatelj pa tega ne bi mogel opaziti. Ali in kako se ponavlja, zato odloči aplikacija, ki ve, ali se njen klic sme izvesti dvakrat.
  • Okrnjeni rezultati procedure. Če procedura vrne več vrstic, kot jih za njen alias dovoljuje omejitev števila vrstic prehoda (MaxRows), prehod rezultat okrni. Odjemalec o tem zapiše opozorilo s korelacijskim identifikatorjem v dnevnik aplikacije; GatewayRoutineResult za to nima oznake. Procedura, ki vrača velike količine podatkov, zato sodi v funkcijo ali pogled, ki se bere po oknih. Pri branju do okrnitve ne pride, ker prehod nikoli ne oblikuje okna, večjega od omejitve.
  • Preverjanje pripadnosti množici (Membership) se prenese kot veriga enakosti, ker sintaksa prenosa ne pozna operatorja za množice. Rezultat je enak. Če naslov zaradi tega postane daljši od MaxUrlLength, bralna zahteva svoje možnosti pošlje v telesu, prehod pa dolgo verigo na enem stolpcu poda podatkovni zbirki kot en sam parameter. Koliko vrednosti sme vsebovati preverjanje pripadnosti, določa paket specifikacije vmesnika (GatewayFilter.Membership.MaxValues); kako veliko sme biti telo, določa prehod.
  • Vrednosti, za katere ni dogovorjene oblike prenosa – naštevanja, zaporedja bajtov, poslovni objekti –, se zavrnejo, namesto da bi se z ToString() pretvorile v niz, ki je videti verjeten in ne zadene ničesar.

Dve lastnosti, ki lahko presenetita

Skupno število lahko manjka. GatewayPage.TotalCount je null, če ni nihče štel. To ni isto kot 0. Če manjkajočo vrednost obravnavate kot ničlo, seznamu sporočite, da ni ničesar za nalaganje – čeprav podatki dokazano obstajajo in brez kakršnega koli sporočila o napaki. Če štetja niste zahtevali, nadaljnje nalaganje upravljajte prek HasMorePotentially: polno okno ima lahko nadaljevanje, kratko je konec.

Natančen znesek se prenese kot besedilo. SQL Server postavlja float nad decimal (Microsoft: Data type precedence): parameter s plavajočo vejico proti decimalnemu stolpcu povzroči pretvorbo stolpca, zaradi česar se indeks ne more uporabiti, zadnja števka pa se lahko spremeni. Besedilo je pod vsakim številskim tipom, zato se pretvori parameter – natanko v tip stolpca. Cela števila v obsegu long ostanejo števila, ker bi bila tam draga ravno pretvorba; večji ulong se prenese kot besedilo.

Sorodne teme

sl/wiki/data-conectivity/database-gateway/client/reference/limits.txt · Zadnja sprememba: uporabnika Wolfgang van der Stille