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.
.<br />
END<br />
ValPtr, 0 )<br />
Wie dem Beispiel zu entnehmen ist, wird hier der Variable ValPtr, die vom<br />
Typ SQLPOINTER ist, die Speicheradresse der Variablen Value<br />
zugewiesen, da die Funktion SQLSetConnectAttr bei Angabe des<br />
Attributs SQL_ATTR_QUIET_MODE entweder einen Null-Pointer (oder<br />
ein Window-Handle) erwartet (und nicht die Variable Value selbst).<br />
Allgemein gilt, daß eine Variable, die vom Typ SQLPOINTER ist, entweder<br />
die Adresse einer Variablen bzw. eines Feldes oder einen Wert übergibt<br />
(meist wird dies durch ein anderes Argument der Funktion gesteuert). Die<br />
Adresse kann i.A. mit der Funktion LOC() bestimmt werden (bei manchen<br />
Compilern auch mit der ehemaligen VAX Funktion POINTER(), die nicht<br />
mit dem Fortran 90 POINTER Befehl zu verwechseln ist). Ob ein Pointer<br />
oder ein Wert zu übergeben ist, ist der jeweiligen Funktionsbeschreibung in<br />
der ODBC API bzw. dem Anhang A mit der ForDBC Funktionsübersicht zu<br />
entnehmen.<br />
Die Funktionsschnittstellen (INTERFACEs) sind im Modul<br />
qtODBCInterfaces<br />
(Datei: qtODBCInterfaces.mod)<br />
niedergelegt. Im Anhang A wird das Modul aufgelistet. Es zeigt die<br />
verfügbaren Funktionen und die notwendigen Typdeklarationen für ihre<br />
Argumente.<br />
Compiler-spezifische Definitionen sind im Modul<br />
qtODBC_Compiler<br />
(Datei: qtODBC_compiler.mod<br />
mit compiler = CVF, DVF, FTN, IVF, LF90, LF95 usf.)<br />
zu finden. Da der Modulname immer der gleiche ist, die Dateinamen in<br />
Abhängigkeit vom verwendeten Compiler jedoch variieren, ist so bei einem<br />
Compilerwechsel eine compiler-spezifische Anpassung des Quellcode Ihrer<br />
ODBC Applikationen i.A. nicht nötig.<br />
Der ODBC Treiber Manager ermöglicht einer Applikation den Zugriff auf<br />
ODBC Treiber mithilfe einer entsprechenden .DLL (z.B. ODBC32.DLL).<br />
Für das Binden (Link) benötigt die Applikation hierzu die<br />
zugehörige Importbibliothek (ODBC32.LIB). Sie ist sowohl für<br />
32-Bit Systeme als auch für 64-Bit Systeme verfügbar. Beide Varianten<br />
tragen den gleichen Namen. Entsprechend ist beim Binden darauf zu<br />
achten, daß der Verzeichnisname der ODBC32.LIB korrekt angegeben<br />
wird (so er denn verwendet wird).<br />
Der Treiber Manager verwaltet und leitet den Zugriff auf den Treiber und<br />
somit die Verbindung zu der dem Treiber zugehörigen .DLL.<br />
5.1 Datentransfer zwischen Applikation und ODBC<br />
Treiber bzw. Treiber Manager<br />
Der "Transfer" der Daten zwischen Applikation und ODBC Treiber bzw.<br />
Treiber Manager erfolgt über die Argumente der Funktionen bzw. der<br />
Speicherbereiche, die durch sie den Funktionen mitgeteilt werden. Dies<br />
können also in unseren Fortran Programmen die üblichen INTEGER,<br />
REAL oder CHARACTER Variablen sein. Mitunter bekommen wir es auch<br />
mit Zeigern (pointer) zu tun. D.h. wir müssen die Startadressen von<br />
Speicherbereichen angeben. Auch die Verwendung von CHARACTER<br />
Argumenten (strings) erfordert Aufmerksamkeit, da wir uns an die<br />
C-typische Behandlung anpassen und gewisse Regeln beachten müssen.<br />
http://www.qt<strong>software</strong>.de ForDBC - Fortran Database Connectivity 16