Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Fehler 'Can't connect twice. Already connected' bei Zugriff auf MySQL 4.1 über ZEOS (https://www.delphipraxis.net/171953-fehler-cant-connect-twice-already-connected-bei-zugriff-auf-mysql-4-1-ueber-zeos.html)

Codehunter 4. Dez 2012 11:11

Datenbank: MySQL • Version: 4.1 • Zugriff über: ZEOS

Fehler 'Can't connect twice. Already connected' bei Zugriff auf MySQL 4.1 über ZEOS
 
Hallo!

Wenn ich auf eine MySQL 4.1 Datenbank connecten will, bekomme ich die Fehlermeldung "Can't connect twice. Already connected". Verbinde ich unter den selben Voraussetzungen auf einen MySQL 5.5 Server, dann funktioniert es ohne Probleme.

Die Fehlermeldung wird vom MySQL-Server ausgeworfen bei der Anweisung "CONNECT TO the_database AS USER "the_user"".

Mein Code zur Verbindung:
Delphi-Quellcode:
with DB do begin
 LibraryLocation:= ExtractFilePath(ParamStr(0)) + 'libmariadb.dll';
 Protocol:= 'mysql-4.1';
 HostName:= 'the_server';
 Database:= 'the_database';
 User:= 'the_user';
 Password:= 'the_password';
 Port:= 3306;
 Connect; // <-- Hier besagte Fehlermeldung
end;
Kennt jemand diese Fehlermeldung in Verbindung mit MySQL 4.1? Ich halte sie insofern für irreführend, als dass auf die betreffende 4.1-Datenbank andere Programme problemlos zugreifen können. Es gibt keine Beschränkungen seitens des Servers, was die Anzahl der Zugriffe betrifft. Auch lassen sich von meinem Testrechner aus mehrere Instanzen der anderen Client-Anwendung starten und auf die Datenbank zugreifen. Nur mit meinem Testprogramm gibt es diese Probleme.

Grüße
Cody

mkinzler 4. Dez 2012 11:22

AW: Fehler 'Can't connect twice. Already connected' bei Zugriff auf MySQL 4.1 über ZE
 
Möglicherweise mag er aber keine 2 Anmeldungen innerhalb eines Programmes/Threads

Codehunter 4. Dez 2012 16:13

AW: Fehler 'Can't connect twice. Already connected' bei Zugriff auf MySQL 4.1 über ZE
 
Dann müßte sich ZEOS aber von sich aus mehrfach da anmelden, denn außer dem o.g. Code ist in meinem Testprogramm nichts weiter enthalten.

Medium 4. Dez 2012 16:23

AW: Fehler 'Can't connect twice. Already connected' bei Zugriff auf MySQL 4.1 über ZE
 
Ist die ZConnection Kompo evtl. zur Designtime connected? Mach doch als erstes mal ein
Delphi-Quellcode:
if Connected then Disconnect;
, einfach für zum testen.

Bernhard Geyer 4. Dez 2012 17:04

AW: Fehler 'Can't connect twice. Already connected' bei Zugriff auf MySQL 4.1 über ZE
 
ist deine MariaDB-Dll (libmariadb) überhaupt für eine so alte MySQL-Version ausgelegt?
Hast du auch andere 4.1er Versionen ausprobiert? Mir ist schon bei MySQL ein paar mal vorgekommen das es Versionen gab die einen katastrophalen Bug beinhaltet haben (hatte mal ne version bei der alle varchars über die DevArt-Kompos als Blob-Felder gemeldet wurden).

EgonHugeist 4. Dez 2012 22:55

AW: Fehler 'Can't connect twice. Already connected' bei Zugriff auf MySQL 4.1 über ZE
 
Zitat:

Zitat von Codehunter (Beitrag 1194279)
Dann müßte sich ZEOS aber von sich aus mehrfach da anmelden, denn außer dem o.g. Code ist in meinem Testprogramm nichts weiter enthalten.

Tut Zeos definitiv nicht! Habe auch diverse Tests, wo über 50 Verbindungen aufgebaut und nach Abschluß dieser, wieder beendet werden. Daher würde ich ebenfalls zur Aussage von Bernhard tendieren. MariaDB ist MySQL5 kompatibel. Ist nicht MySQL auf deiner Liste ausgeschieden? :o

Codehunter 5. Dez 2012 09:34

AW: Fehler 'Can't connect twice. Already connected' bei Zugriff auf MySQL 4.1 über ZE
 
@Egon: Es sind ganz einfach zwei verschiedene Projekte. Die Diskussion um die GPL bezog sich auf ein komplett neues Projekt, hier habe ich es aber mit "Altlasten" zu tun. Denn sonst würde ich im Leben kein 4.1er MySQL mehr einsetzen.

@Bernhard: Laut MariaDB soll die C-Client-Lib 1.0 mit allem MySQL-Versionen ab 4.0 kompatibel sein. Mit einer originalen libmysql.dll 4.0 bekomme ich jedenfalls eine Zugriffsverletzung. Scheinbar ist die alte DLL beim ZEOS 7.0 nicht mehr richtig implementiert. Eine 4.1er libmysql habe ich nicht finden können, könnte mir die evtl. mal jemand zuschicken?

@Medium: Hab ich probiert, der besagte Fehler kommt bei jedem Connect, egal ob zur Designtime oder zur Runtime. Es ist auch egal, ob die TZConnection vorher Connected war oder nicht.

Bernhard Geyer 5. Dez 2012 09:45

AW: Fehler 'Can't connect twice. Already connected' bei Zugriff auf MySQL 4.1 über ZE
 
Und hast du auch eine anderer (letzte Verfügbare) 4.1er Version probiert?
Auch wenn es zu 4.1 kompatible sein soll heißt das nicht das es zu allen 4.1er Versionen kompatible ist.

Codehunter 5. Dez 2012 12:19

AW: Fehler 'Can't connect twice. Already connected' bei Zugriff auf MySQL 4.1 über ZE
 
Siehe oben, ich habe keine 4.1er finden können, die 4.0er stürzt ab.

Bernhard Geyer 5. Dez 2012 12:42

AW: Fehler 'Can't connect twice. Already connected' bei Zugriff auf MySQL 4.1 über ZE
 
Zitat:

Zitat von Codehunter (Beitrag 1194418)
Siehe oben, ich habe keine 4.1er finden können, die 4.0er stürzt ab.

http://www.oldapps.com/mysql_server....mysql_server=5

EgonHugeist 5. Dez 2012 22:32

AW: Fehler 'Can't connect twice. Already connected' bei Zugriff auf MySQL 4.1 über ZE
 
Habe mir gerade MySQL 4.1.21 von http://dev.mysql.com/downloads/mysql/4.0.html heruntegeladen und installiert. Meine tests funzen wie gewünscht (mit Ausnahmen der Stored proc syntax, welche die v4.1 nicht zu kennen scheint). Keine Zugriffverletzung oder der gleichen zu sehen. Mit der libmariadb.dll hab ich's noch nicht getestet. Wenn du den alten Server shon hast, wirst du doch auch die passende libmysql im \bin Ordner finden, oder nicht? Hmpf ich kann's nicht nachvollziehen, was da schief geht bein mir läufts...

Gruß Michael

Codehunter 6. Dez 2012 08:29

AW: Fehler 'Can't connect twice. Already connected' bei Zugriff auf MySQL 4.1 über ZE
 
@Egon: Na das ist ja mal ne Geschichte... Wie gesagt, das Ganze ist eine Altlast und von was weiß ich wem aufgesetzt. Im bin-Verzeichnis befanden sich nur die EXEn der Dienste und mysqldump.exe, mehr nicht. In einer RAR-Datei war dann der Rest verbuddelt und die war... passwortgeschützt. :hello: Der Betreiber des Ganzen wurde dann von mir auf den Dachboden geschickt, in 6 Jahre alten Unterlagen nach dem Passwort fahnden. Irgendwann kam er dann damit und siehe da, DLL vorhanden (erstaunlich groß, über 1 MB) und die läuft auch mit ZEOS 7.0.


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:33 Uhr.

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