EINFACHSTENS c++ und SQL





  • So, gleich bei SOCI wieder mein Problem wie bei allen anderen:

    mysql.h nicht in soci-mysql.h gefunden.

    Da muss ich doch ganz bestimmt noch etwas anderes installiert haben außer nur SOCI!





  • Hello schrieb:

    So, gleich bei SOCI wieder mein Problem wie bei allen anderen:

    mysql.h nicht in soci-mysql.h gefunden.

    Da muss ich doch ganz bestimmt noch etwas anderes installiert haben außer nur SOCI!

    Eh, also zaubern kann niemand, oder? Zitat aus der SOCI-Doku:

    For this, the native libraries provided by each database server should be visible to the compiler and linker as well

    Natürlich muß die native Lib von MySQL (database server, aha!) dem Compiler und Linker bekannt sein. Warum soll SOCI für jede Datenbank die Libs und Headers liefern? http://soci.sourceforge.net/doc/structure.html

    Übrigens hat dir das auch Th weiter oben schon gesagt:

    th schrieb:

    Du mußt deinem Compiler einfach das Include-Verzeichnis ("dort wo die Header stehen") sowie dem Linker dann den Pfad auf die Libraries geben.

    So, wenn du schlau wärst, hättest du uns schon längst gesagt, welches OS und welchen Compiler oder IDE du nutzt, damit wir dir sagen können, wo du was einzustellen hast. Denn das Prinzip ist bei jeder Lib gleich: Lib runter laden, builden und dem Compiler und Linker bekannt machen. Ich wette, du hast bisher nur die Libs runter geladen.

    Nur hellsehen können wir leider auch nicht.



  • Einstellen schaffe ich, nur was 🙂

    Danke, werde mich bemühen.



  • Muss dann eigentlich jeder noch zusätzlich was installieren, um das Programm dann zu nutzen?

    Native libs? Habe echt keinen Plan... Auf meinem PC läuft MySQL (noch) nicht.



  • 1>------ Build started: Project: SlowBob, Configuration: Release Win32 ------
    1>Compiling...
    1>SlowBob.cpp
    1>Linking...
    1>SlowBob.obj : error LNK2001: unresolved external symbol "struct SOCI::MySQLBackEndFactory const SOCI::mysql" (?mysql@SOCI@@3UMySQLBackEndFactory@1@B)
    1>SlowBob.obj : error LNK2001: unresolved external symbol "public: __thiscall SOCI::Session::~Session(void)" (??1Session@SOCI@@QAE@XZ)
    1>SlowBob.obj : error LNK2001: unresolved external symbol "public: __thiscall SOCI::Session::Session(struct SOCI::BackEndFactory const &,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)" (??0Session@SOCI@@QAE@ABUBackEndFactory@1@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z)
    1>SlowBob.obj : error LNK2001: unresolved external symbol "public: __thiscall SOCI::details::OnceTempType::~OnceTempType(void)" (??1OnceTempType@details@SOCI@@QAE@XZ)
    1>SlowBob.obj : error LNK2001: unresolved external symbol "public: __thiscall SOCI::details::OnceTempType::OnceTempType(class SOCI::Session &)" (??0OnceTempType@details@SOCI@@QAE@AAVSession@2@@Z)
    1>SlowBob.obj : error LNK2001: unresolved external symbol "public: __thiscall SOCI::details::OnceTempType::OnceTempType(class SOCI::details::OnceTempType const &)" (??0OnceTempType@details@SOCI@@QAE@ABV012@@Z)
    1>E:\C++\SlowBob\Release\SlowBob.exe : fatal error LNK1120: 6 unresolved externals
    1>Build log was saved at "file://e:\C++\SlowBob\SlowBob\Release\BuildLog.htm"
    1>SlowBob - 7 error(s), 0 warning(s)
    ========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
    


  • VC++ Directories

    Library files:
    E:\MYSQL\mysql-5.1.11-beta-win32\lib

    Header files:
    E:\MYSQL\mysql-5.1.11-beta-win32\include
    E:\SOCI\soci-2.1.0\core
    E:\SOCI\soci-2.1.0\backends
    E:\SOCI\soci-2.1.0\backends\mysql



  • hy @ll,
    bei mir sind auch Probleme mit MySQL 5 und Turbo C++ dbExplorer.
    Ich bekomme zwar eine Verbindung zu einer bestehenden Datenbank aber die Tabellen sind nicht sichtbar, habe im SQL Fenster von Daten-Explorer mal eine Abfrage probiert, da kommt dann bei: SELECT * FROM kunden;
    eine MsgBox mit der Meldung

    Data Explorer

    Ausführung misslungen. Commands out of sync; you can't run this command now

    Bei MySQL Adminstrator hab ich jetzt mit denselben Ergebnis
    Support: InnoDB, BDB und Name Pipes aktiv gestellt.

    Zuvor hab ich noch die Borland Objekt Methoden ausprobiert wie

    SQLQuery1->Open(); /* Hier sollte die SQL Anweisung von oben ausgeführt

    wo dann die Fehlermeldung
    Exception-Klasse EAccessViolation mit Meldung 'Zugriffsverletzung bei Adresse 00C4B960 in Modul 'dbxmys30.dll'. Lesen von Adresse 00000006'. Prozess SQL_DatabaseTestArea.exe (408)
    kam.

    Also irgendein Detail behindert, daß man auf die Tabellen der Datenbank, mit der man ja schon verbunden ist ( hab ich auch schon in MySQL Administrator nachgeschaut ob die Verbindung da ist )
    zugreifen kann.



  • Warum benutzt eigentlich nie einer meiner MySQL Wrapper Klasse ? *grummel* Die findest Du hier. Du musst eventuell noch das Verzeichnis anpassen und im Destruktor von CMySQLQuery muss noch

    if (m_MySQLResult)
    	mysql_free_result(m_MySQLResult);
    

    hinzugefügt werden. Die beiden Klassen sind täglich im Einsatz und rennen wie Hölle 😃


Anmelden zum Antworten