1 / 12

2. DB-API: Programmierschnittstellen zu Datenbanken

2. DB-API: Programmierschnittstellen zu Datenbanken. 2.1 ODBC. proprietäre DB-APIs. Anwendung. passt. passt nicht. SYBASE API. ORACLE OCI. INGRES API. ORACLE-DB. INGRES-DB. SYBASE-DB. ODBC-Konzept. Anwendung. passt. passt. ODBC Treiber. ODBC Treiber. ODBC Treiber. SYBASE API.

gagan
Download Presentation

2. DB-API: Programmierschnittstellen zu Datenbanken

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  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 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 InterfaceImplementierung 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. ODBC-Umgebung einrichten DB-Aktionen aufrufen passenden Treiber aktivieren Übersetzung Netzwerkkommunikation Komponenten von ODBC ODBC-Treiber Manager Anwendung ODBC-Treiber ODBC-Treiber2 OCI-Bibliothek Oracle DB-Server

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

  7. ODBC-Funktionen:Umgebungs- u. Verbindungshandle • ODBC-API einbinden#include <odbcinst.h> • Umgebungshandle einrichtenHENV 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 einrichtenHSTMT handlevariable_anweisung; SQLAllocStmt(handlevariable_verbindung, &handlevariable_anweisung); • SQL-Anweisung ausführenSQLExecDirect(handlevariable_anweisung, string_mit_SQL_Anweisung, Art_Zeichenkette);

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

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

  12. ODBC-Funktionen:Abfrage vorbereiten • Abfrage vorbereitenSQLPrepare(handlevariable_anweisung,string_mit_SQL_Anweisung, Art_Zeichenkette); • Vorbereitete Abfrage ausführenSQLExecute(handlevariable_anweisung);

More Related