Fehler beim verbinden mit MySQL Datenbank



  • Bei meinem Programm tritt der Fehler auf:
    [C++ Fehler] Unit1.cpp(24): E2268 Aufruf der undefinierten Funktion 'mysql_connect'

    Wenn diesen Aufruf auskommentiere tritt der Fehler auf:
    [Linker Fataler Fehler] Fatal: Expected a file name:

    Hier der Quellcode. Kann mir vielleicht jemand weiterhelfen?
    Arbeite mit Borland C++ Builder 5.

    #if defined(_WIN32) || defined(_WIN64)
    #include <windows.h>
    #endif
    #include <mysql.h>
    #include <stdlib.h>
    #include <conio.h>
    #include <stdio.h>

    MYSQL mysql;

    void exiterr(int exitcode)
    {
    printf("FEHLER");
    getch();
    exit(exitcode);
    }

    //Hauptfunktion

    int main()
    {
    if(!mysql_connect(&mysql,"HOSTNAME","USER","PASSWORT"))
    exiterr(1);

    mysql_query(&mysql, "insert into 'programmstruktur'
    values 'abc', 'ABC', 'def', 'DEF'");

    if(mysql_select_db(&mysql,"playroll"))
    exiterr(2);

    }



  • Hast du in deinen Pfaden oder Dateinamen (auch Include-Pfade) irgendwelche Zeichen wie '-'?

    -junix



  • Das Programm hat ja nichts mit Pfadnamen etc. zu tun. Keine Ahnung wo der das hernimmt. Hatte schon mal im Netz was gefunden das das an dem Pfadnamen liegen könnte, aber da ich ja keinen verwende...?!?

    Aber warum kennt er die Funktion mysql_connect nicht? sollte doch mit mysql.h eingebunden sein?!



  • Ich darf zitieren:

    Original erstellt von <Sunny>:
    Wenn diesen Aufruf auskommentiere tritt der Fehler auf:
    [Linker Fataler Fehler] Fatal: Expected a file name:

    Das klingt verdächtig nach Pfadangaben mit einem '-' soweit mir bekannt ist, hat mind. der BCB5 probleme damit, weil er Teile nach einem '-' als neuen Parameter interpretiert.

    Klar hat das nix direkt mit deinem programm zu tun, sondern das ist ein Fehler im BCB. Bedenke, dass der Compiler genau gleich auch mit Pfaden und Kommandozeile arbeitet. Dazu gibts übrigens auch was in unserer FAQ im Abschnitt "Linker".

    -junix



  • Hattest wohl recht, mein Projekt ist in einem Ordner namens C++.
    Hab ihn jetzt in C unbenannt und jetzt bekomme ich wenn mysql_connect auskommentiert ist folgenden Fehler:
    [Linker Fehler] 'C:\P019105\PROJEKTE_AUFGABEN\C\PROGRAMMTEST\LIBMYSQL.LIB' contains invalid OMF record, type 0x21 (possibly COFF)
    Wenn mysql_connect nicht auskommentiert ist habe ich immer noch das Problem das die Funktion nicht erkannt wird....



  • das problem hatte ich auch schon . das kommt wenn zeichen wie + _ \ / im pfad sind mach die weg und es funktioniert.
    ( tritt auch noch bei Borland C++ Builder 6 Enterprise auf ) *hinzufügt*

    mfg

    mal noch son edit : das sind doch ma so ganz nebenbei soweit ich weiss die php funktionsnamen die du da benutzt bist du dir sicher das es die auch unter c++ gibt ?

    [ Dieser Beitrag wurde am 02.06.2003 um 14:40 Uhr von 1ntrud0r editiert. ]



  • Beim COFF-problem hilft dir vielleicht dieser Artikel weiter: http://www.bcbdev.com/faqs/faq92.htm

    Die Funktionsaufrufe... da kann ich im MOment nix nachsehen, weil ich kein MySQL-SDK in Reichweite habe... ich würde sagen, löse zunächst mal das Problem mit der Library...

    -junix



  • Geht immer noch nicht:
    [Linker Fehler] 'C:\P019105\PROJEKTEAUFGABEN\C\PROGRAMMTEST\LIBMYSQL.LIB' contains invalid OMF record, type 0x21 (possibly COFF)

    Keine Zeichen mehr enthalten im Pfad. Ich habe noch nie damit gearbeitet mit Datenbanken über C verbinden....
    Habe das mit mysql_connect aus dem Internet und so wie ich das verstandne habe hat das da auch gefunzt.



  • Obigen Link hast du dir angeschaut, ja?

    -junix



  • Hab das schon gemacht wie es auf folgender Seite beschrieben ist:http://groups.google.de/groups?q=implib+libmysql.lib+libmysql.dll&hl=de&lr=&ie=UTF-8&selm=8883mu%241did%241%40FreeBSD.csie.NCTU.edu.tw&rnum=1

    und sonst habe ich keine *.dll dateien die ich noch gebrauche könnte....



  • Und der Linkerfehler bleibt? Blöde Frage aber du hast schon die neu erstellte Datei dem projekt hinzugefügt und die alte aus dem Projekt entfernt oder?

    -junix



  • Ja, habe das alles bestimmt schon zig mal gemacht. habe alle möglichen Dateien eingebunden.
    Ein Kollege hat auch mal danach geschaut aber ist genauso ratlos wie ich!



  • Kennt vielleicht jemand noch eine andere Möglichkeit eine MySQL-Datenbank mit Daten über C zu füllen?


Anmelden zum Antworten