Einzelnen Beitrag anzeigen

tomsson74

Registriert seit: 8. Jan 2008
73 Beiträge
 
Turbo Delphi für Win32
 
#1

Wie Funktion "SQLGetInfo" aus der odbc32.dll nutze

  Alt 6. Nov 2008, 09:44
Datenbank: DB2, SQL Server, Oracle • Zugriff über: ODBC
Hi,

kann mir bitte jemand erklären, wie ich über die ODBC Funktion "SQLGetInfo" Informationen zum verwenden Treiber (oder anderen Daten) der Verbindung herbekomme ?

Delphi-Quellcode:
SQLRETURN SQLGetInfo(
     SQLHDBC ConnectionHandle,
     SQLUSMALLINT InfoType,
     SQLPOINTER InfoValuePtr,
     SQLSMALLINT BufferLength,
     SQLSMALLINT * StringLengthPtr);
Ich habe im Internet Beispielcode gefunden wie ich die ODBC Datenquellen ermitteln kann. Ein ConnectioHandle könnte ich somit ermitteln

Delphi-Quellcode:
function SQLAllocEnv(var phenv:pointer):smallint; stdcall;
function SQLAllocConnect(henv:pointer;var phdbc:pointer):smallint; stdcall;
Ich habe auch herausgefunden, dass die Deklaration der Funktion SQLGetInfo in Delphi so aussieht:

Delphi-Quellcode:
type
  SQLCHAR = Char;
  SQLSMALLINT = smallint;
  SQLUSMALLINT = Word;
  SQLRETURN = SQLSMALLINT;
  SQLHANDLE = LongInt;
  SQLHENV = SQLHANDLE;
  SQLHDBC = SQLHANDLE;
  SQLHSTMT = SQLHANDLE;
  SQLINTEGER = LongInt;
  SQLUINTEGER = Cardinal;
  SQLPOINTER = Pointer;
  SQLREAL = real;
  SQLDOUBLE = Double;
  SQLFLOAT = Double;
  PSQLCHAR = PChar;
  PSQLINTEGER = ^SQLINTEGER;
  PSQLUINTEGER = ^SQLUINTEGER;
  PSQLSMALLINT = ^SQLSMALLINT;
  PSQLUSMALLINT = ^SQLUSMALLINT;
  PSQLREAL = ^SQLREAL;
  PSQLDOUBLE = ^SQLDOUBLE;
  PSQLFLOAT = ^SQLFLOAT;
  PSQLHandle = ^SQLHANDLE;


function SQLGetInfo(ConnectionHandle :SQLHDBC;
                    InfoType :SQLUSMALLINT;
                    InfoValue :SQLPOINTER;
                    BufferLength :SQLSMALLINT;
                    StringLength :PSQLSMALLINT):SQLRETURN;stdcall;
Ich weiss allerdings nicht, was ich beim Aufruf der Funktion als Parameter übergeben soll und vor allem wie ich auf das Ergebnis zugreifen kann. Kann mir hier jemand helfen ?

Grüße
Thomas
  Mit Zitat antworten Zitat