Autor Beitrag
SmileySN
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 297

WinXP, Win7
Delphi 2010 Professional
BeitragVerfasst: Di 08.04.08 16:18 
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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 297

WinXP, Win7
Delphi 2010 Professional
BeitragVerfasst: 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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 297

WinXP, Win7
Delphi 2010 Professional
BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 303

W2k,WinXP
D3 - DXE3 Enterprise
BeitragVerfasst: 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

_________________
Viele Wege führen nach Rom.
SmileySN Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 297

WinXP, Win7
Delphi 2010 Professional
BeitragVerfasst: 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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 297

WinXP, Win7
Delphi 2010 Professional
BeitragVerfasst: 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.