Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Verbindungsprobleme mit dbExpress und MySQL (https://www.delphipraxis.net/168931-verbindungsprobleme-mit-dbexpress-und-mysql.html)

ottixus 19. Jun 2012 12:47

Datenbank: MySQL • Version: 5.1.41 • Zugriff über: dbExpress

Verbindungsprobleme mit dbExpress und MySQL
 
Hallo,

ich bin dabei eine Delphi2005-Anwendung auf Delphi2012 umzustellen.

In der Delphi2005-Anwendung wurde direkt mit den Befehlen der MySQL-Bibliothek gearbeitet unter Benutzung der mysql.pas von http://www.audio-data.de/mysql.html

Bei der Umstellung habe ich einerseits die Datenbankzugriffe von den direkten mysql-Befehlen (z.B. mysql_num_rows, mysql_real_query) auf dbExpress-Komponenten umgestellt.
Ich nutze eine TSQLConnection und TSQLQuery - Komponenten.

Der Verbindungsaufbau und reine Routine-Abfragen klappen auch.
Jedoch bekomme ich Probleme, wenn sehr viele Abfragen hintereinander abgearbeitet werden sollen (ca. 30000 Queries).
Das Programm steigt dann nach einer Weile mit der Meldung "Can't connect to MySQL server on localhost (10048)" aus.
Eine Verbindung zum MySQL-Server bestand allerdings vorhin. Die SQL-Statements sind auch in Ordnung. Diese kann ich problemlose auf der Kommandozeile ausführen.
Solche Probleme hatte ich vorher in der Delphi2005-Umgebung unter der Nutzung der mysql.pas nicht.
Weiß jemand von euch, warum zwischendurch einfach der Datenbankzugriff verloren geht?
Die Option KeepConnection wurde gesetzt.

Die Datenbankverbindung wird folgendermaßen erzeugt:
Delphi-Quellcode:
  self.SQLConnectionMySQL := TSQLConnection.Create(self);
  self.SQLConnectionMySQL.DriverName := 'MySQL';
  self.SQLConnectionMySQL.GetDriverFunc := 'getSQLDriverMYSQL';
  self.SQLConnectionMySQL.LibraryName := 'mysqllib_32bit\dbxmys.dll';
  self.SQLConnectionMySQL.VendorLib := 'mysqllib_32bit\LIBMYSQL.dll';

  self.SQLConnectionMySQL.Params.Values['BlobSize']          := '-1';
  self.SQLConnectionMySQL.Params.Values['Database']          := 'db';
  self.SQLConnectionMySQL.Params.Values['ErrorRessourceFile'] := '';
  self.SQLConnectionMySQL.Params.Values['HostName']          := mysql_host;
  self.SQLConnectionMySQL.Params.Values['LocaleCode']        := '0000';
  self.SQLConnectionMySQL.Params.Values['User_Name']         := mysql_user;
  self.SQLConnectionMySQL.Params.Values['Password']          := mysql_password;
  self.SQLConnectionMySQL.Params.Values['Compressed']        := 'False';
  self.SQLConnectionMySQL.Params.Values['Encrypted']         := 'False';


  self.SQLConnectionMySQL.LoginPrompt := False;
  self.SQLConnectionMySQL.KeepConnection := True;
  self.SQLConnectionMySQL.Open;


Viele Grüße,

ottixus


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:37 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