MySQL-Problem
-
Hast Du den MySQL-Server unter Windows installiert?
Ich hatte das auch schon öfter mal, dass, obwohl ich beim Installieren (oder war's beim ersten Start?) das PW für root angebe, dieses aber nicht in die DB eingetragen wird. Vielleicht mal manuell in die mysql-DB schauen, ob da unter users bei root ein PW drinsteht. Ansonsten muss das PW natürlich verschlüsselt dort gespeichert werden, bei phpMyAdmin gibt es da einen Werte-Typ "password", da dafür sorgt, dass das PW nicht im Klartext dort steht. Und da nach jeder Änderung den mySQL-Server neu starten bzw. zumindest die Benutzerrechte neu laden.Ansonsten weiß ich auch nicht, wäre jetzt nur nochmal ne Idee, wo Du nachschauen könntest.
-
Ich hab den Server unter Windows installiert und dabei ein Root-Pwd vergeben.
Das wird auch im MySQL-Administrator angezeigt(verschlüsselt).
Solange hier ein Passwort eingetragen ist, funktioniert der Connect nicht, wenn ich es lösche schon.
Habe auch schon per Copy und Paste das passwort aus dem Code übernommen, klappt aber auch nicht!Führe den Connect jetzt halt ohne Pwd durch. Zwar nicht so der Bringer aber naja.
Danke für die Hilfe!
-
Es gibt eine Funktion welche dir den Error ausgibt.
Es liegt nicht an der LIB. Ich verwende selbst passwörter.
-
Also ich habe nun folgenden Code:
if(dBase->connect("localhost", "testdatenbank", 3306, "root", "hallo")) { //hier springt er nicht rein } else { CString error = dBase->errorMessage(); }
Wenn ich mir jetzt error anschaue, steht da nur Datenmüll drin.
(irgendwelche Sonderzeichnem usw.)
-
nachdem du ja mysql local hast versuche mit dem clientprogramm zu connecten
mysql -h localhost -u root -phallo
daa schei was passiert.
dein source ist richtig.
es liegt 100% kein fehler im wrapper vor. dieser ist im produktiven einsatz.
-
Wenn ich die Command Line Client aufrufe und
mysql -h localhost -u root -p hallo;
aufrufe, bekomme ich immer den Fehler 1049: Uknown database '-h'!
Kann einer da was mit anfangen?
-
hm, bei mir funzt das so, ohne Fehler. Ich habe mySQL 3.23. Evtl. hast Du eine andere Version, wo die Parameter in einer anderen Reihenfolge oder evtl. ganz anders lauten müssen. Ich weiß zwar nicht, wie der Wrapper aufgebaut ist, aber evtl. ist da der Knackpunkt, dass die bei oder ab einer bestimmten Version einfach die Parameter geändert haben ... (ACHTUNG: nur geraten)
-
Ohh, hatte bei meinem Connect per Command-Line nen bock drin.
Das funktioniert jetzt also so wie UnixTom das geschrieben hat. Und was jetzt?
Das Pwd ist also auf jeden fall das richtige.
-
Habe ich das nu richtig verstanden. Mit dem CLI funktioniert es?
-
Ja, ich habe das was du geschrieben hast in die Console eingegeben und der Connect zur DB hat geklappt. Der Connect im Code funktioniert allerdings nicht.
-
Lade dir die neuen Dateien mal runter.
www.sensorme.de/dateien/mysqldateien.zip
www.sensorme.de/dateien/mysqldllV7.zip
-
Hinter dem Link liegen keine Dateien!
-
jetzt schon.
-
Sobald ich jetzt compiliere bekomme ich folgende Fehlermeldung:
Syntaxfehler: Fehlendes ';' vor Bezeichner 'fd'
Bei einem Doppelklick, wird in die Datei mysql_com.h gesprungen uns zwar an die Stelle :
typedef struct st_net { Vio* vio; my_socket fd; // <-- hier steht der Cursor ... }
Hab ich irgendwas im Studio falsch eingestellt?
-
#include <afxsock.h> // MFC-Socket-Erweiterungen
in stdafx.h
-
Ok, compilieren kann ich jetzt.
Der Connect zur DB funktioniert aber immer noch nicht, solange diese ein PWD hat.
Schätze nicht, dass du mir auch mal die Debugversion deiner Lib schicken kannst, dann könnte ich ja mal reinsteppen.Sonst noch irgendwelche Ideen? Ich verzweifel so langsam dran!
-
Hat sich deine Problem gelöst?
Ich benutze zwar Unix-Toms Wrapper nicht, sondern die C-Api, aber habe genau das gleiche Phänomen...
MySQL v.4.1.12a ist die MySQL Version...
Unter MySQL v. 4.0.23 funktioniert den gleichen Quellcode 100%ig...
-
ich verwende selbst die 4.1 und die 4.0 mit der c-api der 4.1. da geht alles.