Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Prism Probleme mit Delphi 2006 / MySql5 / MySQL Connector Net 1.0. (https://www.delphipraxis.net/74676-probleme-mit-delphi-2006-mysql5-mysql-connector-net-1-0-a.html)

t.schnabel 7. Aug 2006 14:35


Probleme mit Delphi 2006 / MySql5 / MySQL Connector Net 1.0.
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hi,

ich benutze Delphi 2006 und versuche ein ASP.NET-Projekt
an eine MySql Datenbank, via MySQL Connector Net 1.0.7.
(von MySql.org, s.h. Anhang) anzubinden.

Nachdem ich diese .NET -Komponente erfolgreich installiert habe und
die neue Komponente "MySqlConnection" einfüge, gibt mir der Compiler
folgende Fehlermeldungen zurück:

"[Pascal Fataler Fehler] F1026 Datei nicht gefunden: 'ICSharpCode.SharpZipLib.dll'"

"[Pascal Fataler Fehler] E2202 Package 'MySql.Data' wird benötigt, konnte aber
nicht gefunden werden"

Der Suchpfad zur "MySqlData.dll" ist im Projekt gesetzt, aber ich kann die Datei
"ICSharpCode.SharpZipLib.dll" nicht auf meiner festplatte finden.

Kennt jemand dieses Problem oder hat Erfahrung mit den Komponenten des
MySQL Connector Net 1.0.7. (die die sauberste Lösung zur Anbindung einer
MySql 5 per .NET sein sollte)


Vielen Dank

Tom

Phoenix 7. Aug 2006 14:45

Re: Probleme mit Delphi 2006 / MySql5 / MySQL Connector Net
 
Zitat:

Zitat von t.schnabel
"[Pascal Fataler Fehler] E2202 Package 'MySql.Data' wird benötigt, konnte aber
nicht gefunden werden"

Das allein reicht nicht:
Du musst eine Referenz auf das Assembly dem Projekt hinzufügen und auch noch MySql.Data in die Uses-Klausel aufnehmen.

Die SharpZipLib müsste eigentlich mit dem Connector mitkommen. Zumindest in der Quelldistribution ist das Assembly im src-Verzeichnis mit dabei.

t.schnabel 7. Aug 2006 16:53

Re: Probleme mit Delphi 2006 / MySql5 / MySQL Connector Net
 
Liste der Anhänge anzeigen (Anzahl: 1)
Vielen Dank für die superschnelle Antwort.

Die Datei "ICSharpCode.SharpZipLib.dll'" ist natürlich
mit dabei und liegt im "src" Verzeichnis (sorry!), "MySql.Data.MySqlClient" wird automatisch in den uses-Abschnitt eingefügt.

Compilierung funktionierte also nachdem ich die "ICSharpCode.SharpZipLib.dll'" in den im Projekt angegebenen Suchpfad kopiert habe.

Mit ist aber nicht klar, was Du mit "Referenz auf das Assembly einfügen" meinst.

Nächstes Problem ist nämlich, dass trotz korrekter Eintragung in den ConnectionString der Befehl MySqlConnection1.Open mit der Meldung "Ein nicht blockierender Socketvorgang konnte nicht sofort ausgeführt werden" und dann "Eine bestehende Verbindung wurde softwaregesteuert durch den Hostcomputer abgebrochen" quittiert wird.

Komme mir beim Umstieg auf .NET vor, wie ein blutiger Anfänger, wäre also dankbar für wetere Hilfe.

Im Anhang befindet sich die komplette Meldung der Stapelüberwachung.

Bis dann

Tom

t.schnabel 14. Aug 2006 11:01

Re: Probleme mit Delphi 2006 / MySql5 / MySQL Connector Net
 
Habe am Wochenende noch ein paar Test gemacht und das Problem ist verschwunden.
Zuerst einmal habe icch alle Komponenten (MySqlConnection, MySqlCommandText)
manuell erstellt und freigegeben (create, dispose).

Dannach ist die Fehlermeldung nicht mehr gekommen. Die Ursache des Problems
bleibt für mich unklar, aber in anderen Newsgroups habe ich Einträge gefunden,
in denen beschrieben wird, dass man nicht zu viele Datenbank-Komponenten
im Formular benutzen soll. Entspricht eigentlich nicht meiner Vorstellung
von RAD, soll aber in Punkto Performance offene Verbindungen etc. besser sein.


Tom

xaromz 14. Aug 2006 12:17

Re: Probleme mit Delphi 2006 / MySql5 / MySQL Connector Net
 
Hallo,

bezüglich des Fehlers "Ein nicht blockierender Socketvorgang konnte nicht sofort ausgeführt werden":
Ich habe ab und zu den gleichen Fehler. Im MSDN steht dazu, dass diese Exception nicht schlimm ist. Sie bedeutet lediglich, dass die Verbindung nicht sofort zustande kommt, sondern etwas dauert. Nur, wenn man direkt danach auf die Verbindung zugreift, kommt die nächste Exception. Ich habe daher als Lösung nach dem Verbinden einfach ein Sleep() eingebaut; die Exception selbst konnte ich nämlich bis jetzt nicht abfangen :gruebel: .

Gruß
xaromz

DP-Maintenance 14. Aug 2006 12:36

DP-Maintenance
 
Dieses Thema wurde von "Phoenix" von "Internet / LAN / ASP.NET" nach "Datenbanken" verschoben.
Hat nix mit Internet zu tun...


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