MySQL / C++ / Sockets



  • Hallo zusammen,
    ich möchte gerne ein größeres Projekt starten. Dabei möchte ich einiges über C++ und MySQL und eventuell auch Sockets lernen. Dazu habe ich zwei Fragen:

    1.) Ich möchte mittels Borland Builder auf eine MySQL Datenbank zugreifen, die auf meiner Domäne liegt. SQL kann ich. Gibt eine MySQL Schnittstelle im Builder und ein Tutorial, das ihr mir empfehlen könnt?

    2.) Da meine Datenbank auf meiner Domäne liegt, muss ich irgendwie darauf zugreifen. Brauche ich dafür Sockets? Ich habe davon nämlich noch keine Ahnung ;). Wenn ja, könnt ihr mir auch dafür ein gutes Tutorial empfehlen, dass sich vll. mit Frage 1 ergänzt?

    edit: Ich habe mich nochmal umgeschaut, um eine Verbindung zu meiner Datenbank auf meiner Domäne herzustellen. Immer wieder reden die Leute von MySQL ODBC Treibern. Gibt es eine Alternative, denn sonst kann ja nur derjenige das Programm nutzen, der die Treiber installiert hat. Wie würdet ihr euch mit einer Datenbank im Internet verbinden?

    Vielen Dank
    lg, freakC++



  • Hi,

    1.) MySQL ODBC-Connector: http://www.mysql.de/downloads/connector/odbc/3.51.html#downloads

    2.) Nein, du stellst im Connector einfach die Ziel-IP oder Hostname ein, auf dem die Datenbank liegt

    Das mit dem Edit würd ich auch nochmal gern erläutert haben.



  • Hallo

    Es gibt auch VCL-Pakete, die auf MySQL ohne ODBC oder andere Zwischenschichten zugreifen, allerdings teilweise kostenpflichtig. Eine Suche nach *mysql* hier im Forum sollte eigebntliche verschiedenste Hinweise liefern.

    bis bald
    akari



  • akari schrieb:

    Es gibt auch VCL-Pakete, die auf MySQL ohne ODBC oder andere Zwischenschichten zugreifen

    Zum Beispiel dbExpress.



  • audacia schrieb:

    Zum Beispiel dbExpress.

    Da sollte aber erwähnt werden, das es erst ab der C++Builder Enterprise Version funktioniert bzw. bei der Professional Version gehen nur auf dem Rechner lokal installierte MySQL Datenbanken.



  • Hallo zusammen,
    herzlichen Dank schonmal für eure Informationen. Auf eure Antworten habe ich aber noch ein paar Fragen:

    1.) @halloei: Verstehe ich es richtig, dass dein Link zum "ODBC - Connector" diese Treiber sind oder ist dieser Connector wieder etwas anderes? So verstehe ich jedenfalls Google 🙂 Kann ich mit diesem Connector sowohl Lokale datenbanken ansteuern, erstellen und auch welche im Web?

    2.) Ich würde lieber eine Schnittstellte haben, bei der der Nutzer keine zusätzlichen Treiber installieren muss, sondern wo alles beiliegt. Ich habe mich mal über die Forensuche erkundigt, doch nichts Gescheites gefunden. Kennt ihr ein Pakekt, dass ich auch unter C++ Builder 6 Personal nutzen kann?

    3.) Dennoch habe ich mich mal nach dbExpress erkundigt. Wikipedia sagt, dass "man nur in einer Richtung Daten abfragen kann." Ich möchte mit meinem Programm aus der Datenbank lesen und eventuell auch schreiben. Heißt das, dass ich nur lesen oder nur schreiben kann oder missverstehe ich da etwas?

    edit: Ich habe mich nochmal umgeschaut und bin über ZEOS-Komponenten gestoplert. Ich habe jedoch nicht genug Infos finden können,. Hat damit jemand Erfahrung?

    Vielen Dank
    lg, freakC++



  • Dieser Connector ist der Treiber, der die Schnittstelle zwischen deiner MySQL-DB und deinem Programm darstellt. Sobald du den also installiert hast, gehst du auf Systemsteuerung -> Administrative Tools (weiß grad nicht, wies genau im dt. Windows heißt) -> Data Sources (ODBC)
    Dort im Reiter "System DSN" kannst du dann mit dem ODBC-Treiber den Pfad und Alias deiner DB einstellen, den du dann im Builder bei deinen DB-Komponenten auswählen kannst.
    Der Treiber ist natürlich dadurch nur lokal, wie du ja selbst festgestellt hast. Innerhalb eines Netzwerkes hab ich die Verbindung zu einer DB schon hergestellt, übers Internet hab ich damit noch keine Erfahrung



  • Mmmhh...für mich ist es aber wichtig, dass es auch über das Internet funktioneirt. Ich habe mir jetzt mal diese Zeus Schnittstelle heruntergelden, aber noch nicht ausprobiert, weil ich nicht so recht weiß, wie ich die in meinem Builder 6 bekomme. Hat damit jemand Erfahnrungen und kann man damit über das Internet arbeiten?

    edit: Ich habe nur den Borland Builder 6 Personal. Da finde ich keine DB - Komponenten. Brauche ich also eine andere Version oder krieger ich die im Internet? Ich finde nämlich kein 😞

    Vielen Dank
    lg, freakC++



  • Hallo,
    für mich scheint das irgendwie sehr aussichtslos zu sein :(.

    Die letzte Möglicht ist dbExpress. Wenn ich die Enterprise Version habe, kann ich dann auch auf Online Datenbanken zugreifen? Habe ich da VergissEs richtig verstanden?

    Zeos krieg ich nicht installiert, ODBC ist für mich keine Wahl, MySQL++ scheint unter Borland nicht zu laufen...

    Ich krieg im Internet leider nicht genu Infos über dbExpress. Ist die bei der Enterprise Version schon dabei?

    Vielen Dank für eure Hilfe
    lg, freakC++



  • Hier ist eine Anleitung für C++ Builder 6.0
    http://www.baghli.com/bcb_mysql.html

    Bei ZEOS darft du für die c++ Builder 6.0 Version nicht die ZEOS 7.0 Alpha
    verwenden die ist erst ab der 2009 Version installierbar deshalb installiere
    eine ältere stable Version.

    dbExpress ist auch schon bei der Professional dabei nur halt mir limitationen.



  • und diese Limitationen sind egal welche Builder Version man hat, dass man nicht auf eine online Datenbank zugreifen kann?

    Kann ich dbExpress auch irgendwo herunterladen, um die Komponente dann auf einer Personal Version zu nutzen?

    Sonst werde Ich mich nochmal an Zeos geben müssen, da ich damit auch online gehen kann.

    lg, freakC++



  • freakC++ schrieb:

    und diese Limitationen sind egal welche Builder Version man hat, dass man nicht auf eine online Datenbank zugreifen kann?

    Nein, mit der Enterprise Edition kannst du dbExpress uneingeschränkt benutzen.



  • kann man die enterprise version noch irgendwo herbekommen? Ich finde nämlich dazu nichts mehr..

    lg, freakC++



  • freakC++ schrieb:

    kann man die enterprise version noch irgendwo herbekommen?

    Du kannst sie z.B. hier erwerben.



  • Ach das ist ja ein Schbnäppchen ;).

    Ne, als Schüler kann ich mir das definitiv nicht leisten. Da muss ich wohl noch andere Sachen probieren. Ich schaue mir jetzt nochmal Zeos an.

    Vielen Dank

    lg, freakC++



  • freakC++ schrieb:

    als Schüler

    ... könntest du dir im Zweifelsfall das hier kaufen. Oder alternativ eben freie Komponenten benutzen; das scheint mir in diesem Fall auch sinnvoller.



  • Hallo

    Mit den kommerziellen MyDAC-Komponenten kannst du auch mit einer Professionell-Variante des Builders ohne weitere zu installierende Treiber sowohl lokal als auch über Internet auf MySQL-Datenbanken komplett zugreifen.

    bis bald
    akari



  • Ja, die habe ich mir auch schon angeschaut. Ich habe aber die Personal Version des Builder 6. Ich habe mir die Trial Version installiert, PC neugestartet, Borland gestartet und sofort kam ein Fehler. Wahrscheinlich kann ich mit Personal einfach nichts machen. Außerdem kostet die auch 130 Dollar. Das wäre zwar zu verkraften, doch ich weiß ja gar nicht, ob ich mit meinem Vorhaben Erfolg haben werde ;).

    Wisst ihr, ob die MyDAC Komponente wirklich nicht unter Personal Version läuft? Sonst wäre das verschwendetes Geld.

    @audacia: Wenn ich ein bisschen sparen würde, dann wäre das sicherliche eine gute Investition. Ich bin verglichen mit euch und beruflichen Programmieren noch ein Anfänger. Ich lese noch Grundlagenbücher, habe aber breits einiges mit dem Borland Builder gemacht. Deswegen meine Frage: Lohnt sich für mich eine solche Anschaffung überhaupt? Werde ich bis auf die Datenbankschnittstelle andere Vorteile haben und werden mir vielleicht neue Pforten geöffnet 😉

    Vielen Dank
    lg, freakC++



  • Hallo

    MyDAC läuft definitiv unter der Professionell-Variante.

    bye
    akari



  • aber für mich ist es wichtig zu wissen, ob es auch unter der Personal Version läuft. Die habe ich nämlich 😉

    lg, freakC++


Log in to reply