Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

2. DB-API: Programmierschnittstellen zu Datenbanken

Ähnliche Präsentationen


Präsentation zum Thema: "2. DB-API: Programmierschnittstellen zu Datenbanken"—  Präsentation transkript:

1 2. DB-API: Programmierschnittstellen zu Datenbanken
2.1 ODBC

2 proprietäre DB-APIs Anwendung passt passt nicht SYBASE API ORACLE OCI
INGRES API ORACLE-DB INGRES-DB SYBASE-DB

3 ODBC-Konzept Anwendung passt passt ODBC Treiber ODBC Treiber
SYBASE API ORACLE OCI INGRES API ORACLE-DB INGRES-DB SYBASE-DB

4 ODBC = Open DataBase Connectivity
Initiator: Microsoft und andere Zweck: Einheitliche API für verschiedene DBMS (API = Application Program Interface) CLI = Call Level Interface Implementierung der Definition der X/Open Group Sammlung von C-Funktionen Grundlage: Client-Server Architektur Komponenten von ODBC: Treiber-Manager je ein Treiber für jedes DBMS

5 Komponenten von ODBC ODBC-Treiber Manager Anwendung ODBC-Treiber
ODBC-Umgebung einrichten Anwendung DB-Aktionen aufrufen passenden Treiber aktivieren ODBC-Treiber ODBC-Treiber2 Übersetzung OCI-Bibliothek Netzwerkkommunikation Oracle DB-Server

6 SQLAllocStmt(..., &hstmt)
Handle-Konzept SQLAllocStmt(..., &hstmt) Speicherplatz reservieren hstmt Handle zeigt auf Info SQLBindColumn(hstmt,... Zugriff Inhalt Handle SQLExecDirect(hstmt,... Trägt Info ein ODBC-Treiber

7 ODBC-Funktionen: Umgebungs- u. Verbindungshandle
ODBC-API einbinden #include <odbcinst.h> Umgebungshandle einrichten HENV handlevariable_environment; SQLAllocEnv (&handlevariable_environment) Verbindungshandle einrichten: HDBC handlevariable_Verbindung; SQLAllocConnect (handlevariable_environment, &handlevariable_verbindung)

8 ODBC-Funktionen: Verbindungsaufbau zur Datenbank
SQLConnect( handlevariable_verbindung, Datenquellenname /* logischer Name der Datenbank */, Art_Zeichenkette /* z.B. SQL_NTS = Null Terminatet String */, Benutzername /* z.B. "dapro01" */, Länge_Benutzername /* z.B. 15 */, Passwort, Länge_Passwort /* z.B. 14 */)

9 ODBC-Funktionen: SQL-Anweisung senden
Anweisungshandle einrichten HSTMT handlevariable_anweisung; SQLAllocStmt (handlevariable_verbindung, &handlevariable_anweisung); SQL-Anweisung ausführen SQLExecDirect( handlevariable_anweisung, string_mit_SQL_Anweisung, Art_Zeichenkette);

10 ODBC-Funktionen: Suchergebnisse mit Cursor holen
Bindung von Tabellenspalten zu C-Variablen SQLBindCol( handlevariable_anweisung, Spaltennummer /* z.B. 1 */, Datentyp_der_Spalte, &Zielvariable, sizeof(Zielvariable), &Datenlänge) Nächsten Datensatz holen SQLFetch(handlevariable_anweisung)

11 ODBC-Funktionen: Spalten holen
Eine Spalte des aktuellen Datensatzes holen SQLGetData( handlevariable_anweisung, Spaltennummer, Datentyp_der_Spalte, &Zielvariable, sizeof(&Zielvariable), &Datenlänge);

12 ODBC-Funktionen: Abfrage vorbereiten
Abfrage vorbereiten SQLPrepare( handlevariable_anweisung, string_mit_SQL_Anweisung, Art_Zeichenkette); Vorbereitete Abfrage ausführen SQLExecute( handlevariable_anweisung);


Herunterladen ppt "2. DB-API: Programmierschnittstellen zu Datenbanken"

Ähnliche Präsentationen


Google-Anzeigen