Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Prism Software mit MySQL-Komponente portieren (https://www.delphipraxis.net/113530-software-mit-mysql-komponente-portieren.html)

Steve9825679 9. Mai 2008 10:02

Datenbank: MySQL • Version: 5 • Zugriff über: .NET-Connector 1.1

Software mit MySQL-Komponente portieren
 
Vormittag!

Ich habe ein kleines Programm geschrieben, das nichts anderes macht als eine bestimmte Datei auszulesen sobald sie geändert wurde, entsprechend zu parsen und die Wert dann in eine MySQL-Datenbank schreibt. Funktioniert auf dem Entwicklungs-PC, wo Delphi 2007 installiert ist, wunderbar.
Doch sobald ich das Progrämmchen schnappe und damit auf einen anderne PC gehe, läufts nicht mehr. Und zwar bleibt die Software genau an der Stelle der Initialisierung der Datenbank-Verbindung stehen - ohne Fehlermeldung oder irgendwas.

Den MySQL-Connector in der korrekten Version (dieselbe wie die in der Entwicklung) hab ich auf allen den Testrechnern installiert. MySQL.Data kommt auch korrekt im Assembly-Cache an. Die Library in den Application Folder kopieren hab ich auch schon probiert, auch nix.

Hätte jemand einen Tipp, woran's dabei scheitert?

Danke, Stefan

Bubblegum 9. Mai 2008 13:55

Re: Software mit MySQL-Komponente portieren
 
Das kann vielleicht an deinem intialisierungsstring liegen.

Überpüfe mal Port, und Servername. Wenn das OK ist wechsele mal den Port.

Steve9825679 9. Mai 2008 16:53

Re: Software mit MySQL-Komponente portieren
 
Hai!
Ich vermute mal, dass es nicht an der Initialisierung liegt, denn von der Entwicklungs-Maschine greife ich auf denselben MySQL-Server zu, und da funktioniert die Verbindung. Und zwar folgendermaßen (Port ist Standard 3306):
Delphi-Quellcode:
function TDatabase.DelTable: System.Boolean;
var conn : MySQL.Data.MySqlClient.MySqlConnection;
    cmd : MySQL.Data.MySqlClient.MySqlCommand;
begin
  conn:=MySQL.Data.MySqlClient.MySqlConnection.Create('server='+host+'; uid='+user+'; pwd='+password+'; database='+database);
  cmd:=conn.CreateCommand;

  sql:='DELETE FROM suppl_sup';
  cmd.CommandText:=sql;
  conn.Open;
  try
    cmd.ExecuteNonQuery;
    result:=true;
  except
    on e : Exception do
    begin
      // ... Fehlerbehandlung
      result:=false;
    end;
  end;
  conn.Close;
  cmd.Free;
  conn.Free;
end;
LGs Stefan

Khabarakh 9. Mai 2008 17:02

Re: Software mit MySQL-Komponente portieren
 
Zitat:

Zitat von Steve9825679
ohne Fehlermeldung oder irgendwas

Bei so einer Fehlerbehandlung wie in dem Code-Schnippsel darf man sich darüber auch nicht wundern :gruebel: . Ich weiß natürlich nicht, was bei "// ... Fehlerbehandlung" steht, aber die Gefahr ist doch groß, dass irgendwo eine Exception verschluckt wird.

PS: "Stehen bleiben" = Einfrieren?

Steve9825679 9. Mai 2008 20:22

Re: Software mit MySQL-Komponente portieren
 
Danke für diese völlig überflüssige Belehrung. Wie ich meine Fehlerbehandlung implementiere, ist komplett meine Sache, und der Übersichtlichkeit halber hab ich halt alles rausgenommen was den Quellcode nicht verlängert. Echt blöd (bei den Hilfeversuchen) war, das geb ich zu, die Fehlerbehandlung rund um conn.open; rauszunehmen, weils eben genau da zu happern scheint. Aber sonst... Furchtbar nicht-konstruktiv - schade. Aber wenn du's soviel besser weißt, dann poste bitte deinen tollen Vorschlag. Ich werden ihn sicher gut gebrauchen können.

Steff


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:44 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz