sql >> Databasteknik >  >> RDS >> Database

ODBC 4.0

ODBC är ett dataåtkomst-API som gör att en applikation kan skrivas utan att behöva specificera eller känna till det databassystem som den kommer att använda när den körs, med andra ord, ODBC isolerar applikationen från detaljerna för åtkomst till en databas.

Utgivningshistoriken för ODBC är:

Version Släppt Beskrivning
1.0 1993 Den första versionen av ODBC. Endast ett fåtal ODBC 1.0-applikationer och drivrutiner finns fortfarande (på Windows) och ingen vi känner till på Linux.
2.0 1994 Liten omorganisation av API:t (t.ex. ny SQLBindParameter ersätter SQLSetParam ) kärna, nivå 1 och 2 överensstämmelseändringar, nya datatyper.

Det finns fortfarande ett antal ODBC 2.0-applikationer och drivrutiner. På Linux är de flesta ODBC-drivrutiner ODBC 3 och de få som fortfarande är ODBC 2.0 går i allmänhet över till 3.

Det fanns också en ODBC 2.5.

3.0 1995 ODBC 3.0 introducerade ett stort antal nya API:er och ODBC-deskriptorhandtag. De flesta ODBC-drivrutiner på Linux är nu ODBC 3.x och många applikationer är också 3.x.
3,5x 1997 Introduktion av Unicode.
3,8x 2009 Drivrutinsmedveten anslutningspoolning, vilket gör att en ODBC-drivrutin bättre kan uppskatta kostnaden för att återanvända en anslutning från poolen baserat på en användares anslutningsinställningar.

Asynkron anslutningsoperation, som gör det möjligt för applikationer att fylla i flera anslutningar i poolen vid uppstart så att efterföljande anslutningsförfrågningar kan betjänas mer effektivt.

Drivrutinsspecifika C-datatyper, som är användbara för att stödja nya DBMS-datatyper som befintliga C-typer inte representerar korrekt. Före version 3.8 var ODBC-drivrutiner tvungna att använda en generisk typ som SQL_C_BINARY för att arbeta med DBMS-specifika typer, som programmet sedan skulle behöva rekonstruera.

Strömmade utdataparametrar, som gör att en applikation kan anropa SQLGetData med en liten buffert flera gånger för att hämta ett stort parametervärde, vilket minskar applikationens minnesavtryck. (Vi tillhandahåller ett SQL Server-specifikt exempel för strömmade utdataparametrar i vårt avsnitt med C-exempel.)

Microsoft meddelade nyligen att de arbetar med ODBC 4.0, den första betydande uppdateringen av ODBC-specifikationen sedan 1997. ODBC 4.0 syftar till att möta kraven från moderna datalager. Till exempel data med en hierarkisk struktur eller en datakälla som använder webbautentisering för att kontrollera åtkomsten till den.

De viktigaste nya funktionerna som ODBC 4.0 innehåller är:

Funktion Beskrivning
Privata drivrutiner ODBC-drivrutiner som bara är synliga för en viss applikation. Privata drivrutiner exponeras inte i den systemomfattande ODBC-datakällans administratörsapplikation.
Språktillägg genom ytterligare SQL Escape-klausuler ODBC escape-satser tillhandahåller ett DBMS-neutralt sätt för applikationer att använda konstruktioner som inte är en del av SQL-92. Till exempel yttre kopplingar, funktionsexekvering, datetime literals och så vidare. ODBC 4.o tillhandahåller nya escape-sekvenser för att täcka ytterligare SQL-konstruktioner såsom limit-satser samt andra tillägg till SQL som att välja infogade, uppdaterade eller borttagna värden.
Halvstrukturerad data:Tabeller vars schema kanske inte är definierade eller kan ändras rad för rad Ett schema kan härledas från en schemalös källa som ett JSON-, XML- eller CSV-dokument, för att exponera en standardrelationell vy av data.
Hierarkiska data:Data med kapslad struktur (strukturerade fält, listor) Applikationer som begär ODBC 4.x kan se en mer trovärdig representation av hierarkiskt strukturerade data som innehåller rad-, samlings- och otypade datavärden.
Webbautentisering ODBC API SQLDriverConnect har ändrats för att vara kompatibel med kraven för en webbautentiseringsmekanism som OAuth . Till exempel kommer det att vara möjligt att använda SQLDriverConnect att initialt tillhandahålla en åtkomsttoken med en begränsad livslängd och sedan förlänga varaktigheten av en session med en uppdateringstoken.

  1. Är det möjligt att ställa in standardschema från anslutningssträngen?

  2. Hur kan jag hitta icke-ASCII-tecken i MySQL?

  3. Hitta kolumnerna som returneras av en tabellvärderad funktion (T-SQL-exempel)

  4. MySQL - Betydelse av PRIMÄRNYCKEL, UNIK NYCKEL och NYCKEL när de används tillsammans när du skapar en tabell