08.05.2013 Aufrufe

deutschen Handbuch - QT software GmbH

deutschen Handbuch - QT software GmbH

deutschen Handbuch - QT software GmbH

MEHR ANZEIGEN
WENIGER ANZEIGEN

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

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!