Farbschema: Hell
Sie befinden sich hier: start » sl » Dokumentacija » Integracija podatkov in dostop do podatkov » Gonilnik WKL OData ODBC » Navodila za gonilnik OData ODBC » Uporaba gonilnika z ADO.NET in Visual Studiem

Uporaba gonilnika z ADO.NET in Visual Studiem

Programi .NET prek gonilnika s System.Data.Odbc dosežejo storitev OData – branje, DataAdapter.Fill, CommandBuilder, parametri –, čarovniki Visual Studia pa z njim delajo kot z virom podatkov SQL Server. O tem, ali pisanje uspe, odločajo tri nastavitve.

Pregled rešitve

ADO.NET in čarovnik TableAdapter ustvarita UPDATE in DELETE po pravilih CommandBuilder. Privzeta nastavitev (ConflictOption.CompareAllSearchableValues, v čarovniku „Use optimistic concurrency“) vsak stolpec primerja z njegovo staro vrednostjo. Tega ni mogoče izraziti v OData: z naslovom za lastne stavke se stavek nespremenjen pošlje podatkovni zbirki, brez njega pa ga gonilnik zavrne, preden je karkoli zapisano.

Izvedba

  1. Povežite se kot običajno; ali je proces 32- ali 64-bitni, določa, kateri gonilnik se naloži (Visual Studio od različice 2022 je 64-bitni):

    using var connection = new OdbcConnection(
        "DRIVER={Wkl OData};URL=https://daten.example.com/odata/v4/fachdaten/dbo/;AUTH=WINDOWS");
    connection.Open();
  2. Izberite pravilo sočasnosti:

    PrimerNastavitev
    naslov za lastne stavke obstajaprivzeta nastavitev zadošča; primerjave vrednosti preveri podatkovna zbirka
    brez naslova, tabela z različico vrstice ali žigom vrstice (gw_rowstamp)ConflictOption.CompareRowVersion, stolpec vključite v poizvedbo; v čarovniku odznačite „Use optimistic concurrency“
    brez naslova, konflikti niso pomembniConflictOption.OverwriteChanges
  3. Za imena s posebnimi znaki pri OdbcCommandBuilder nastavite QuotePrefix = "[" in QuoteSuffix = "]"; brez njiju CommandBuilder imena zapiše brez oklepajev, pri vsakem gonilniku.

Rezultat: ustvarjanje, spreminjanje in brisanje prek CommandBuilder uspejo; sprememba, ki jo je medtem naredil nekdo drug, se pojavi kot DBConcurrencyException. To velja v .NET 10, .NET 8 in .NET Framework 4.8, v 32- in 64-bitnih procesih.

Napotki

  • Transakcije samo, kjer jih storitev podpira. S podatkovnim prehodom Wkl.Data.Gateway BeginTransaction, Commit in Rollback delujejo kot prek gonilnika SQL Serverja; druga storitev brez Store.Transactions na BeginTransaction odgovori s HYC00 namesto z navidezno odprto transakcijo. Glejte Transakcije.
  • DateTime samo na milisekundo. ADO.NET vezano vrednost DateTime prenese natančno samo na milisekundo; gonilnik shrani vrednost, kot prispe. Gonilnik SQL Serverja v tej vezavi zavrne vsak finejši delček sekunde.
  • Pogledi se pojavijo kot tabele. $metadata pogledov ne razlikuje od tabel; Server Explorer jih prikaže pod „Tables“. Na branje in poizvedbe to ne vpliva.

Sorodne teme

sl/wiki/data-conectivity/odata-odbc/how-to/adonet-and-visual-studio.txt · Zuletzt geändert: von Wolfgang van der Stille