Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi MySQL mit ZEOS auf anderem Rechner = Zugriffsverletzung (https://www.delphipraxis.net/71911-mysql-mit-zeos-auf-anderem-rechner-%3D-zugriffsverletzung.html)

davar 22. Jun 2006 12:57

Datenbank: MySQL • Version: 5.x • Zugriff über: ZEOS

MySQL mit ZEOS auf anderem Rechner = Zugriffsverletzung
 
Hallo Leute,

ich habe ein Programm geschrieben, das mit ZEOS auf MySQL zugreift. Auf meinem Rechner läuft alles ganz gut, aber auf einem anderen bekomme ich eine Zugriffsverletzung. Mit MySQL stimmt alles, also ich kann mit der Software "MySQL-Front" ganz normal auf die DB zugreifen. Aber mein Programm macht Probleme, wenn ich mit der DB verbinden möchte. libmysql.dll hab ich auch mitgegeben und weiss nun nicht mehr, ob ich sonst noch etwas mitgeben muss..

mfg

davar

davar 22. Jun 2006 16:48

Re: MySQL mit ZEOS auf anderem Rechner = Zugriffsverletzung
 
Also hier noch einmal die Details (war vorhin beim Kunden, deswegen nur schnell getippt):

bei mir auf dem Rechner läuft das Programm einwandfrei. Jetzt habe ich die exe-Datei auf einen anderen Rechner kopiert und dort gibt es Probleme. Sobald versucht wird, die Verbindung zur Datenbank herzustellen, kommt eine Meldung

"Zugriffsverletzung bei Adresse ... in Modul 'Project1.exe' Lesen von Adresse ......"

Und beim Beenden kommt die Meldung

"Exception EAccessViolation im Modul Project1.exe bei ...
Zugriffsverletzung bei Adresse ... in Modul 'Project1.exe' Lesen von Adresse....."

und sofort danach

"Runtime error 216 at ......"


Ich habe das Gefühl, dass die ZEOS-Komponenten Probleme machen. MySQL läuft mit PHPMyAdmin und auch mit MySQL-Front ganz ohne Probleme. Muss ich vielleicht ausser libmysql.dll weitere Dateien rüberkopieren?

Übrigens habe ich die ZEOS-Komponenten Version 5.5, weil die späteren ja nicht mit Delphi 3 laufen sollen..

mfg

davar

RavenIV 22. Jun 2006 16:51

Re: MySQL mit ZEOS auf anderem Rechner = Zugriffsverletzung
 
Zitat:

Zitat von davar
"Runtime error 216 at ......"

den Runtime error kannst du mit ShareMem in Uses der ersten Unit (meistens die .dpr) verhindern.

versuch das mal und evtl. sind die anderen Fehler auch damit erledigt.

davar 22. Jun 2006 17:05

Re: MySQL mit ZEOS auf anderem Rechner = Zugriffsverletzung
 
Zitat:

Zitat von RavenIV
Zitat:

Zitat von davar
"Runtime error 216 at ......"

den Runtime error kannst du mit ShareMem in Uses der ersten Unit (meistens die .dpr) verhindern.

versuch das mal und evtl. sind die anderen Fehler auch damit erledigt.

Der Runtime Error kam aber als letztes, also nachdem ich das Programm geschlossen habe. Kann das trotzdem daran liegen? Der Zweit-PC steht beim Kunden, nur zum Testen kann ich nicht hinfahren, daher frage ich besser noch einmal nach..

Bernhard Geyer 22. Jun 2006 20:43

Re: MySQL mit ZEOS auf anderem Rechner = Zugriffsverletzung
 
Wird auf deinem und Kundenrechner wirklich die gleiche Version von libmysql.dll gezogen?
Neuere Versionen der DLL sind inkompatible mit älteren Versionen.


Nebenbei bemerkt: Läuft dein Programm nur mit MySQL und bezahlt der Kunde Geld dafür? Falls ja so will auch MySQL dafür Geld haben. Dies ist AFAIK dann der Fall wenn eine Anwendung als DB nur MySQL unterstützt und du "hart" gegen die Datenbank linkst. Und hierbei Zählt die libmysql.dll auch als "hartes Linken".

davar 22. Jun 2006 22:24

Re: MySQL mit ZEOS auf anderem Rechner = Zugriffsverletzung
 
Zitat:

Zitat von Bernhard Geyer
Wird auf deinem und Kundenrechner wirklich die gleiche Version von libmysql.dll gezogen?
Neuere Versionen der DLL sind inkompatible mit älteren Versionen.

Das könnte es sein! Wie ich sehe, sind beide Dateien unterschiedlich groß.

Zitat:

Zitat von Bernhard Geyer
Nebenbei bemerkt: Läuft dein Programm nur mit MySQL und bezahlt der Kunde Geld dafür? Falls ja so will auch MySQL dafür Geld haben. Dies ist AFAIK dann der Fall wenn eine Anwendung als DB nur MySQL unterstützt und du "hart" gegen die Datenbank linkst. Und hierbei Zählt die libmysql.dll auch als "hartes Linken".


Es handelt sich um eine auf Kundenwunsch gefertigte Individualsoftware. Soweit ich weiss, hat hier MySQL nichts dagegen. Ausserdem bin ich mir nicht ganz sicher, ob MySQL in den von dir genannten Fällen wirklich eine Lizenz haben möchte. Der Berater am Telefon kam nämlich ins Stottern, als ich ihn das gefragt habe. Ausserdem redete er von "etwas wie einer Grauzone" und hat ständig drumherum geredet.

Ganz nebenbei überlege ich mir sowieso, ob ich nicht doch auf postgreSQL umsteigen sollte..


MfG

davar

Igotcha 23. Jun 2006 00:05

Re: MySQL mit ZEOS auf anderem Rechner = Zugriffsverletzung
 
Das Thema MySQL-Lizenz hatten wir schon x-Mal.

Du brauchst bei MySQL nur etwas zahlen, wenn Du zusammen mit Deiner Software eine modifizierte Version des MySQL-Datenbankserver auslieferst - und damit ist nicht die libmysql.dll gemeint. Dass die Software ausschließlich damit funktioniert tut nichts zur Sache.

Also: Lass Deinen Kunden die MySQL-DB selbst ziehen und das wars.

Gruß Igotcha


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