Zum Inhalt springen

SQL in C Programm


Expi

Empfohlene Beiträge

Hy,

was brauch ich alles um mich über ein c programm an nem sql server anzumelden ?

OS ist Cygwin

Compiler gcc

Postgresql ist installiert

Die includes sind "sql.h" und "sqlext.h", richtig ?

Muss ich irgendwas dem compiler als option übergeben ?

Thx

Link zu diesem Kommentar
Auf anderen Seiten teilen

Also, hab mich noch etwas weiter mit Google beschäftigt und weiß jetzt dass man "unixODBC" installiert haben muss. odbcUnix ist in /usr/local installiert.

Hier der Code von nem Beispiel Prog:


#include <stdio.h>

#include <sql.h>

#include <sqlext.h>


main() {

  SQLHENV env;

  char driver[256];

  char attr[256];

  SQLSMALLINT driver_ret;

  SQLSMALLINT attr_ret;

  SQLUSMALLINT direction;

  SQLRETURN ret;


  SQLAllocHandle(SQL_HANDLE_ENV, SQL_NULL_HANDLE, &env);

  SQLSetEnvAttr(env, SQL_ATTR_ODBC_VERSION, (void *) SQL_OV_ODBC3, 0);


  direction = SQL_FETCH_FIRST;

  while(SQL_SUCCEEDED(ret = SQLDrivers(env, direction,

				       driver, sizeof(driver), &driver_ret,

				       attr, sizeof(attr), &attr_ret))) {

    direction = SQL_FETCH_NEXT;

    printf("%s - %s\n", driver, attr);

    if (ret == SQL_SUCCESS_WITH_INFO) printf("\tdata truncation\n");

  }

}

Die Optionen beim Compilen sollten folgende sein: gcc -c odbc.c -I/usr/local/include/ ( laut : http://www.dbmaker.com.tw/reference/manuals/odbc/odbc_chap_02.html ) und dann gcc -o odbc odbc.o -L/usr/local/lib -lodbc laut : http://www.easysoft.com/products/9999/faq_answer.phtml?ID=750&product=2002 ) Nur beim übersetzen kommt jetzt folgendes:

$ gcc -o odbc odbc.o -L/usr/local/lib -lodbc

/usr/local/lib/libodbc.a(__info.o): In function `unicode_shutdown':

/home/test/unixODBC-2.2.11/DriverManager/__info.c:561: undefined reference to `_libiconv_close'

/home/test/unixODBC-2.2.11/DriverManager/__info.c:566: undefined reference to `_libiconv_close'

/usr/local/lib/libodbc.a(__info.o): In function `ansi_to_unicode_copy':

/home/test/unixODBC-2.2.11/DriverManager/__info.c:719: undefined reference to `_libiconv'

/usr/local/lib/libodbc.a(__info.o): In function `unicode_to_ansi_copy':

/home/test/unixODBC-2.2.11/DriverManager/__info.c:664: undefined reference to `_libiconv'

/usr/local/lib/libodbc.a(__info.o): In function `unicode_setup':

/home/test/unixODBC-2.2.11/DriverManager/__info.c:470: undefined reference to `_libiconv_open'

/home/test/unixODBC-2.2.11/DriverManager/__info.c:474: undefined reference to `_libiconv_close'

/home/test/unixODBC-2.2.11/DriverManager/__info.c:534: undefined reference to `_libiconv_open'

/home/test/unixODBC-2.2.11/DriverManager/__info.c:535: undefined reference to `_libiconv_open'

/home/test/unixODBC-2.2.11/DriverManager/__info.c:492: undefined reference to `_libiconv_open'

/home/test/unixODBC-2.2.11/DriverManager/__info.c:495: undefined reference to `_libiconv_close'

collect2: ld returned 1 exit status

Hat jemand ne Ahnung was da nicht stimmt ?

Thx

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo!

Ich weis zwar nicht was du da programmiert hast, aber schau dir mal die folgende Seite an:

http://www.pronix.de/pronix-4.html

Unter Punkt 27 ist "MySQL mit C" beschrieben.

Ist zwar für Windows aber man kann sich ein Bild machen was einem noch fehlen kann.

Schau ob du eine Developer - Beschreibung zu deinem Server findest, die APIs für den Zugriff enthält.

Ich hoffe es hilft dir weiter.

Viel Spaß.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...