Entwickler-Ecke
Internet / Netzwerk - Mit dbexpress auf MySQLDB auf Webserver connecten
SmileySN - Di 08.04.08 16:18
Titel: Mit dbexpress auf MySQLDB auf Webserver connecten
Ich versuche mich mit der in D2006 vorhandenen DBExpress Komponente SQLConnection auf meinen Webserver im Internet zu verbinden.
Die Connection geht aber immer nur zum localhost so wie es aussieht, obwohl ich eine IP Adresse eingegeben habe für den Host.
DBExpress Fehler [0x000C] ungültiger Wert für Benutzername/Passwort
Datenbank-Server-Fehler: Access denied for user 'xxx'@'localhost'(using Password yes)
Hier die Einstellungen der Connection:
DriverName=MySQL
ErrorResourceFile=
HostName=62.67.246.222
LocaleCode=0000
Password=yyyy
User_Name=xxx
Database=xxx
Compressed=False
Encrypted=False
Kann das überhaupt funktionieren ?
In einigen Berichten hier über MySQL und DBExpress wurde gesagt, dass DBExpress mit MySQL nicht richtig funktioniert, kann man DBExpress zum lesen und schreiben von ein paar Datensätzen auf einen Webserver benutzen ?
Ich wollte vermeiden separate Komponenten wie ZEOS einzubinden, da ich auf verschiedenen Computern abwechselnd arbeite.
SmileySN - Mi 09.04.08 13:42
Der letzte Versuch war mit Delphi2006.
Die Connection versucht immer auf localhost zu gehen.
Jetzt habe ich es mal mit D2007 probiert, da funktioniert es bei gleicher Einstellung.
Da muss wohl ein Fehler bei D2006 drin sein.
Weiß davon jemand was ?
SmileySN - Do 10.04.08 22:03
Es ist doch noch nicht ausgestanden.
Ich habe mir ein connection und ein Query Objekt aus dbexpress auf das Formular gezogen und die connection wie oben beschrieben eingestellt.
Die Verbingung funktioniert und ich kann mit der Query ein "drop table..." und ein "create table...." machen.
Die Tabelle wird wie gewünscht angelegt.
Danach mache ich ein "Select * from tabelle" und danach ein Query.append.
Beim append bekomme ich die Fehlermeldung, dass meine Datenmenge im "nur lesenmodus" ist ????
Wie kann das sein ???
MAlsleben - Mo 14.04.08 20:29
Hi,
eine Query mit einem select ist nun mal eine nur lese Datenmenge. Du machst auf das Ergebnis, der Abfrage select..., ein append. Das geht natürlich nicht. Wenn Du in die Datenbank etwas einfügen willst, muss der SQL Befehl in die Eigenschaft SQL der Query(oder SQLCMD.commandtext) ( insert into ....) und dann query.execSQL.
Es gibt verschiedene Möglichkeiten (z.B. parametrisierte Abfragen, SQL Text ändern). Hier mal in OH von Delphi das Kapitel dbexpress oder Arbeiten mit Datenbanken lesen.
Gruß Micha
SmileySN - Mo 14.04.08 23:06
Ich habe bisher mit ADO (Access) Datenbank oder Advantage Database Server gearbeitet, damit gab es bisher kein Problem in eine Selectierte Datenmenge einen Append zu machen.
Möglich, dass diese beiden nicht gerade eine Referenz für SQL-Datenbanken sind.
Es stand aber auch schon mal irgendwo, dass man vor einem Einfügen von Datensätzen einen Select machen soll, der keine Datensätze zurückliefert um schneller einfügen zu können.
Das Problem tritt auch nur bei der Verbindung zur externen MySQL DB auf, wenn ich die Connetion Komponente auf die interne MySQL DB setze, dann funktioniert es.
Sobald ich die externe MySQLDB anspreche und die Query verbinden will, kommt was von "Unidirektionale Datenmenge".
SmileySN - Mo 21.04.08 14:36
Ich habe mich schließlich doch dafür entschieden die ZEOS-Komponenten zu installieren.
Damit gibt es überhaupt keine Probleme, alles funktioniert so wie ich es erwartet habe.
Daten lesen und schreiben ist kein Problem
Scheinbar sind die von Codegear mitgelieferten Komponenten nicht für MySQL auf externen Servern geeignet.
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!