Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Wie Funktion "SQLGetInfo" aus der odbc32.dll nutzen ? (https://www.delphipraxis.net/123664-wie-funktion-sqlgetinfo-aus-der-odbc32-dll-nutzen.html)

tomsson74 6. Nov 2008 09:44

Datenbank: DB2, SQL Server, Oracle • Zugriff über: ODBC

Wie Funktion "SQLGetInfo" aus der odbc32.dll nutze
 
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


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:14 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz