So binden Sie Daten mit der ODBC-Treiber-API mithilfe von C ++ an SQLBindCol

9

Ich versuche, einen benutzerdefinierten ODBC-Treiber mit C ++ für eine Windows-Umgebung (wie PostgreSQL, Simba, Firebird usw.) zu erstellen, da die ODBC-API mehrere ODBC API Methoden standardmäßig.

Ich habe Verbindungen mithilfe von DSN hergestellt und kann die SQL-Abfrage mit SQLExecuteDirect -Methode.

Beim Verbinden von Excel mit unserem ODBC-Treiber kann die Tabellenliste jedoch nicht an den Microsoft-Abfrageassistenten gebunden werden.

Die SQLTables () , SQLBindColumn () und Methoden SQLFetch () werden verwendet, um die Liste der Tabellennamen hier abzurufen. Die Daten werden mit der SQLBindColumn-Methode gebunden.

Aber ich bin verwirrt darüber, wie die Tabellennamen abgerufen und an Excel gebunden werden?

    
ǨÅVËĔŊ RĀǞĴĄŅ 23.03.2016, 13:07
quelle

2 Antworten

0

Nachdem Sie SQLExecDirect () oder SQLPrepare () aufgerufen haben, können Sie SQLDescribeCol () aufrufen. SQLDescribeCol () gibt alle Spalteninformationen zurück, die Sie benötigen.

Sie können die Microsoft-Website dafür hier besuchen: Ссылка

Obwohl das nur nützlich ist, wenn Sie ein

machen %Vor%

Oder wenn Sie die Spaltennamen aus einem generischen SQL finden möchten.

Sie können auch nach anderen Spalten suchen, indem Sie die Funktion SQLColumns () verwenden. Das ist vergleichbar mit SQLTables () (Gleiches Suchprinzip) und gibt eine Ergebnismenge mit den Ergebnissen zurück. Gefunden hier: Ссылка

    
Nat 19.04.2017 08:26
quelle
0

Die Excel-Anwendung lädt alle Schemainformationen, bevor eine Abfrage ausgeführt wird.

In diesem Fall wird die SQLTables-Methode mit den Attributen wie Katalog-, Schema- und Tabellennamen aufgerufen. Basierend auf dem Attribut namens Schema-Informationen muss in SQLFetch-Methode zurückgegeben werden.

Als Referenz: Ссылка

Wenn die SQLTables-Methode mit dem Attribut 'catalogname' aufgerufen wurde, muss der Katalogname in der SQLFetch-Methode unter Verwendung der in der SQLBindCol-Methode zurückgegebenen Datenadresse gebunden sein.

Ebenso sollten Schema- und Tabellennamen auch für die SQLTables-Methode zurückgegeben werden.

Weitere Informationen zum Binden spaltenweiser Schemainformationen finden Sie im Abschnitt Kommentare unter dem obigen Link.

    
Karthik Sridhar 19.04.2017 11:32
quelle

Tags und Links