deutschen Handbuch - QT software GmbH
deutschen Handbuch - QT software GmbH
deutschen Handbuch - QT software GmbH
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
5.5.1 Die Initialisierung der ODBC Umgebung<br />
Der erste Schritt einer ODBC Applikation ist die Initialisierung der ODBC<br />
Umgebung unter Zuordnung der Umgebungsidentifikationsnummer<br />
(environment handle). Nachdem die notwendige Variablen deklariert<br />
wurden<br />
INTEGER (KIND=SQLHANDLE) :: env = SQL_NULL_HANDLE<br />
INTEGER rtc<br />
erfolgt der Aufruf zur Erzeugung der ODBC Umgebung:<br />
rtc = SQLAllocHandle( SQL_HANDLE_ENV, &<br />
SQL_NULL_HANDLE, env )<br />
Die Funktion SQLAllocHandle gibt im Erfolgsfall (rtc =<br />
SQL_SUCCESS) die Umgebungsidentifikationsnummer im Argument<br />
env zurück.<br />
Die Initialisierung einer ODBC Umgebung darf in einer Applikation nur<br />
dann mehrmals stattfinden, nachdem die jeweils zuvor geöffnete ODBC<br />
Umgebung geschlossen wurde (mittels SQLFreeHandle).<br />
5.5.2 Der Verbindungsaufbau<br />
Nachdem die ODBC Umgebung initialisiert wurde, kann die Verbindung<br />
zum Treiber bzw. der Datenbank hergestellt werden. Die für die<br />
Verbindungsidentifikationsnummer (connection handle) notwendige<br />
Deklaration lautet bspw.:<br />
INTEGER (SQLHANDLE) :: dbc = SQL_NULL_HANDLE<br />
Für die Verbindung wird die Funktion SQLAllocHandle aufgerufen,<br />
die als Argument die zuvor angelegte Umgebungsidentifikationsnummer<br />
(environment handle) benötigt.<br />
rtc = SQLAllocHandle( SQL_HANDLE_DBC, env, dbc )<br />
Falls kein Fehler auftritt (rtc = SQL_SUCCESS), wird im letzten<br />
Argument der Funktion die Verbindungsidentifikationsnummer<br />
zurückgegeben.<br />
Schließlich folgt dann der eigentliche Verbindungsaufbau, z.B. mithilfe der<br />
Funktion SQLConnect. Die Funktion fordert die Angabe des Namens<br />
der Datenquelle, eine Benutzeridentifikationsnummer (User ID oder auch<br />
Login ID) und ein Paßwort. Z.B.:<br />
rtc = SQLConnect(dbc, &<br />
'Waehrungen'//CHAR(0), SQL_NTS, &<br />
'dba'//CHAR(0), SQL_NTS, &<br />
'sql'//CHAR(0), SQL_NTS )<br />
Die Datenquelle im obigen Beispiel heißt „Waehrungen“, die<br />
Benutzeridentifikation (Login ID) „dba“ und das Paßwort „sql“.<br />
Sämtliche Längenangaben der Zeichenketten erfolgen intern automatisch<br />
gemäß Angabe SQL_NTS (null terminated string). Man beachte, daß<br />
sämtliche Zeichenketten null-terminiert sind (//CHAR(0) wurde<br />
angehängt).<br />
Wenn SQLConnect aufgerufen wird, sucht der Treiber Manager in der<br />
ODBC.INI Datei bzw. in der Registrierdatenbank nach weiteren Angaben<br />
der zugehörigen Treiber-DLL und lädt die DLL. Werden für die<br />
Verbindung zur Datenquelle mehr Informationen benötigt, versucht der<br />
Treiber Manager diese ebenfalls aus dem entsprechenden Abschnitt der<br />
Treiber-DLL zu ermitteln. Falls der Name der Datenquelle nicht in der<br />
ODBC.INI Datei bzw. Registrierdatenbank (registry) gefunden oder auch<br />
http://www.qt<strong>software</strong>.de ForDBC - Fortran Database Connectivity 22