Präsentation herunterladen
Die Präsentation wird geladen. Bitte warten
Veröffentlicht von:Kreszentia Rees Geändert vor über 11 Jahren
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);
Ähnliche Präsentationen
© 2025 SlidePlayer.org Inc.
All rights reserved.