Entwickler-Ecke
Datenbanken - Programmstart nicht möglich --> mysql
butterkeks - Di 15.06.10 16:25
Titel: Programmstart nicht möglich --> mysql
Hallo leute,
ich hab ein Problem mit meinem Programm das ich alleine nicht behoben bekomme.
Mein Programm benutzt eine TSQLConnection zum verbinden zu einer MYSql DB und auf dem Rechner wo Delphi läuft, klappt das verbinden auch ohne Probleme, aber sobalt ich das Programm auf einem fremden Rechner starten will bekomme ich eine Fehlermeldung:
"Fehler beim Lesen von verbindung.DriverName: Verbindungsdateien wurden im Anwendungsverzeichnis (C:\Dokumente und Einstellungen\XXX\XXX) und in der Systemregistrierung (\Software\CodeGear\BDS\6.0\dbExpress) nicht gefunden.
"
Ich habe schon die von mir eingesetzte libmysql.dll in das Programm und Systemverzeichnis eingefügt aber ohne Erfolg.
Kann mir jemand sagen was es damit auf sich hat?
Ps.: ich vergaß zu erwähnen das ich MadExcept benutze falls jemand die Fehlermeldung komisch vorkommt.
ALF - Di 15.06.10 16:50
Bin mir jetzt nicht ganz sicher, glaube aber zu wissen das diese dll nicht im Systemverzeichnis von Windows liegt, sondern im Verzeichnis von Mysql bzw.im Verzeichnis des Progs was dies benötigt (z.B Apache/bin)!
In solchen transportablen Fällen, empfehle ich immer eine Configdatei, um dies manuel nachtragen zu können.
Dies gilt z.B. auch für die DB, kommt auch oft vor das sie nicht im selben Verzeichnis oder sogar im anderen Lw liegt.
Solch ein ähnlichen Fall gab es vor kurzem auch schon hier :!:
Gruss Alf
butterkeks - Di 15.06.10 16:59
Ja im Prinzip wäre ja mein Programm das, welches diese Datei benötigt, da es ja keinen Apache Server oder dergleichen gibt.
Mein Programm soll lediglich zu einer fest installierten MYSQL Installation verbinden und dann Datenbankabfragen durchführen.
Und nun habe ich halt das Problem das mir irgendwas auf dem anderen Rechner fehlt.
Da ich die libmysql.dll schon im System Ordner habe und auch im Anwendungsverzeichnis kann es DIE schonmal nicht sein denke ich...nur welche ist es dann?
hier nochmal die details zu meiner TSQLConnection:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16:
| object verbindung: TSQLConnection ConnectionName = 'MySQLConnection' DriverName = 'MySQL' GetDriverFunc = 'getSQLDriverMYSQL' LibraryName = 'dbxmys.dll' Params.Strings = ( 'DriverName=MySQL' 'HostName=127.0.0.1' 'Database=xxx' 'User_Name=xxx' 'BlobSize=-1' 'Password=xxx') VendorLib = 'libmysql.dll' AfterConnect = verbindungAfterConnect AfterDisconnect = verbindungAfterDisconnect BeforeConnect = verbindungBeforeConnect |
ALF - Di 15.06.10 17:19
Man, hab ich mich wieder blöd ausgedrückt :gruebel: oder ich hab dich falsch verstanden!
Du bist mit deinem in Delphi erstellten Programm auf einem anderen Rechner gegangen!?
Alleine das sagt schon, das ja der Username, also C:\Dokumente....\hiermeinusername\...\ usw. nicht stimmt!
Demzufolge auch das nicht finden kann was für Delphi benötigt wird z.B. die DB.
Egal wie rum das nun passiert ist, jedenfals stimmen die Pfade nicht worauf das Programm zugreift!
Darum ja auch der Hinweis... CONFIGDATEI für sowas, um es transportabel zu machen!
Gruss Alf
P.S. das mit Apache war nur als Beispiel gedacht!!
Xentar - Di 15.06.10 17:23
Hast du auf diesem anderen Rechner denn MySQL installiert, und auch die Datenbank angelegt?
butterkeks - Di 15.06.10 17:29
Ja ist alles drauf und auch erreichbar. Es sind ja auch schon Daten in der DB von anderen Programmen (nicht von mir geschrieben).
Also wie gesagt ich glaube nicht das es daran liegt das es MYSQL nicht findet...ich glaube eher das mein Programm irgendwas nicht findet um überhaupt eine Verbindung aufbauen zu können.
Sonst würde ja auch das Programm starten und dann ne Fehlermeldung zeigen wenn ich zur Datenbank connecten will.
So weit komm ich aber gar nicht.
@ALF: JA ich bin mit meinem Prog auf nen anderen Rechner gegangen und ich hab das Programm zum ersten testen auf dem Dektop deponiert, daher auch der "C:\Dokumente und einstellungen\.." Pfad...das sollte meinem Prog aber vollkommen egal sein.
butterkeks - Di 15.06.10 17:30
Ich persönlich würde auch nit unbedingt MYSQL nehmen, aber der Rechner und die Datenbank sind vorgegeben und die darf ich auch nicht einfach ändern...
Ich muss halt mein Programm zum funktionieren bringen.
ALF - Di 15.06.10 17:33
butterkeks hat folgendes geschrieben : |
| ich glaube eher das mein Programm irgendwas nicht findet um überhaupt eine Verbindung aufbauen zu können. |
kann es sein das Du irgend was von Delphi nicht mit eingebunden/compiliert hast um es transportabel zu machen?
butterkeks - Di 15.06.10 17:36
Wenn ich das mal wüsste...
Also Compilieren tut er einwandfrei...und auf dem Rechner wo ich an dem Programm arbeite, startet es auch ganz normal und verbindet zu der DB die dort installiert ist.
Es geht dort also alles optimal.
Nur sobalt ich auf den anderen Rechner gehe, startet es nit mehr...
ALF - Di 15.06.10 17:38
Was ist mit dieser 'dbxmys.dll'
Gruss Alf
butterkeks - Do 17.06.10 08:46
Ich habe jetzt das ganze nochmal auf meinem Notebook mit Windows 7 versucht und siehe da, es geht...
Aber auch mit der dbxmys.dll auf dem anderen Rechner kein erfolg.
Gibt es eventuell irgendwelche MYSQL treiber die bei Windows XP nicht vorhanden sein könnten?
ALF - Do 17.06.10 11:02
butterkeks hat folgendes geschrieben : |
| Ich habe jetzt das ganze nochmal auf meinem Notebook mit Windows 7 versucht und siehe da, es geht... |
Hast Du da Delphi installiert oder nur dbExpress von CodeGear!
butterkeks hat folgendes geschrieben : |
| "Fehler beim Lesen von verbindung.DriverName: Verbindungsdateien wurden im Anwendungsverzeichnis (C:\Dokumente und Einstellungen\XXX\XXX) und in der Systemregistrierung (\Software\CodeGear\BDS\6.0\dbExpress) nicht gefunden. |
Also wenn Du sagst das MYSQL ordnungsgemäß auf dem Fremdrechner installiert wurde, ok.
Dann befindet sich aber die DB auch im Verzeichnis von MYSQL im allgemeinem, wenn man damit eine DB erstellt!
Aber was ist mit der DB selbst, ist dies denn die selbe ??? Denn der
Eintrag ist ja von deinem Rechner und nicht vom Fremdrechner.
Besser gesagt wird die DB so gesucht!
ansonsten wüsste ich auch nicht mehr weiter.
Gruss Alf
butterkeks - Mo 21.06.10 11:37
So habs hinbekommen...is mir zwar vollkommen unklar wie das sein kann, aber ich musste Delphi auf dem anderen Rechner installieren weil dem Programm anscheinend die DBExpress daten fehlten. o.O
"Schön beschissen gebastelt" sag ich dazu nur...jetz muss man das komplette Datenbanksystem mit auf den anderen Rechner installieren...
Trotzdem ein Danke an alle die geholfen haben^^
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!