Auf Datenbank von Visual Studio zugreifen



  • Hallo ihr,

    Ich habe eine MySQL Datenbank auf meinem Localhost laufen und
    wuerde gerne auf diese von Visual Studio aus zugreifen.
    Am Besten waere es, wenn ich von C++ aus Queries an die Datenbank
    schicken koennte und diese mir dann die Infos zurueckgibt.
    Ich habe im Netz schon vieles dazu gefunden - jedoch war das meiste
    zu Visual Basic oder C#, was mir hier leider nicht weiter hilft.

    Es waere nett von euch, wenn ihr mir eventuell Hilfestellung geben koenntet,
    oder Tutorials empfehlen koennt. (Gerne auch in Engisch)

    Hat jemand da Erfahrung?

    Vielen Dank und liebe Gruesse

    David



  • Ich weiß jetzt zwar nicht, was das mit Visual Studio zu tun hat, aber wenn du eine MySql Datenbank aus deinem C++ Programm ansprechen möchtest kannst du entweder MySQL++ http://tangentsoft.net/mysql++/ oder die Poco libraries benutzen http://pocoproject.org benutzen. Letztere hat im Data Namespace inzwischen auch einen MySQL connector. Für beide Libraries brauchst du auf jeden Fall die MySQL C Api.



  • Die MySQL++ scheint ganz sinnvoll zu sein.
    Ich habe mir die Dokumentation jetzt mal angesehen und versucht ein Beispiel zu starten.
    Allerdings bekomme ich die Fehlermeldung:

    LINK : fatal error LNK1104: Datei "mysqlpp.lib" kann nicht geöffnet werden.

    Durch Googlen danach habe ich nur einen Forenbeitrag gefunden, der mein
    Problem nicht loesen konnte.
    Ich weiss, dass dieser Fehler daher kommt, weil MySQL++ nicht richtig mit Visual Studio bekannt gemacht wurde.

    Was genau muss ich da noch beachten?

    cya

    David



  • Du musst die mysqlpp.lib in dein Projekt einbinden unter: Properties -> Linker -> Input -> Additional Dependencies. Ebenso kannst du das Include-Verzeichnis hinzufügen, so dass du nur noch die Headerdatei ohne Pfad inkludieren zu brauchst: Properties -> C++ -> General -> Additional Include Directories

    Falls es nicht sinnvoll ist, C++/CLI mit nativem C++ zu mischen, unter System::Data:ODBC findest du einige Klassen mit denen du MySQL einfach per ODBC ansprechen kannst:

    Gruß Vanish



  • Hey Danke,

    Eventuell reichen mir diese Klassen ja auch schon.
    Ich werd mir das mal ansehen.

    Habe auf jeden Fall mein Projekt jetzt auch geschafft erfolgreich zu bauen...

    Gruss

    David



  • Also ich habe jetzt MySQL++ so zum rennen bekommen, dass die Beispiele alle funktionieren.
    Das einzige, was NICHT geht und was mich gerade in den Wahnsinn treibt ist wenn ich ein eigenes Projekt starten will.
    Ich bekomme immer den Fehler:

    c:\documents and settings\elsner\my documents\visual studio 2008\projects\database_mysql\database_mysql\Form1.h(3) : fatal error C1083: Datei (Include) kann nicht geöffnet werden: "mysql++.h": No such file or directory

    Dabei habe ich eigentlich alles richtig konfiguriert:

    Habe als zusaetzliche Includeverzeichnisse im Projekt:

    C:\Program Files\MySQL\MySQL Server 5.1\include

    angegeben und dem Linker:

    mysqlpp_d.lib
    libmysql.lib

    migegegeben.

    Trotzdem kommt dieser Fehler noch - das ist echt der Hammer.

    Ich habe am Ende alle Optionen des funktionierenden Beispielprojektes mit denen des NICHT funktionierenden Projektes genau Zeile fuer Zeile verglichen und sie sind zu 100% identisch.

    Dennoch funktioniert

    #include <mysql++.h>
    

    nicht...

    Weiss jemand wo es noch Projektspezifische Optionen geben kann??? 😕 😕 😕 😕



  • Befindet sich denn im Ordner "C:\Program Files\MySQL\MySQL Server 5.1\include" die Datei "mysql++.h"? Und was verstehst du unter "funktioniert nicht?"



  • Die Datei ist in dem Ordner und unter 'Funktioniert nicht' verstehe ich, dass diese Fehlermeldung kommt:

    c:\documents and settings\elsner\my documents\visual studio 2008\projects\database_mysql\database_mysql\Form1.h(3) : fatal error C1083: Datei (Include) kann nicht geöffnet werden: "mysql++.h": No such file or directory

    Allerdings nur in MEINEM Projekt.
    In dem in den MySQL++ Examples nicht.

    Das ist echt zum verrueckt werden 😃 😃



  • Ist die mysql++.h im Includepfad ? (Wenn Du nach der Form1.h geschaut hast - ab in die Ecke 😉



  • Sie befindet sich im Verzeichnis C:\Program Files\MySQL\MySQL Server 5.1\include
    was ich auch unter Konfigurationseigenschaften -> C/C++ -> Allgemein -> Zusaetzliche Includeverzeichnisse angegeben habe.

    Zudem steht der Pfad auch noch unter:

    Extras -> Optionen -> Projekte und Projektmappen -> VC++ Verzeichnisse -> Include

    Was genau meinst du mit 'Nur Form1'? 🙂



  • Wunderbar!
    Jetzt gehts endlich nach ewiger Suche 😉
    Hatte im Pfad nur ein Zeichen falsch... das geht mir so am Programmieren auf den Sender: Es muss immer alles perfekt sein 😃 😃 😃



  • vllt. wäre Visual Basic was für Dich :xmas2:



  • :xmas2: :xmas2: :xmas2: :xmas2: :xmas2:



  • ...oder der ADO.NET-Treiber für MySQL. 🙄


Anmelden zum Antworten