AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Was mache ich falsch? MySQL via dbExpress (TurboDelphi)
Thema durchsuchen
Ansicht
Themen-Optionen

Was mache ich falsch? MySQL via dbExpress (TurboDelphi)

Ein Thema von TUX_der_Pinguin · begonnen am 22. Jan 2007 · letzter Beitrag vom 23. Jan 2007
Antwort Antwort
TUX_der_Pinguin

Registriert seit: 1. Jun 2005
Ort: Anholt (NRW)
608 Beiträge
 
Delphi 11 Alexandria
 
#1

Was mache ich falsch? MySQL via dbExpress (TurboDelphi)

  Alt 22. Jan 2007, 13:50
Datenbank: MySQL • Version: 4.0/4.1/5.0 • Zugriff über: dbExpress
Ich habe mit folgendem Code zuerst auf eine MySQL Datenbank der Version 5.0, 4.1 und schliesslich 4.0.26 zu zugreifen,
jedoch immer das gleiche die Verbindung mit der Datenbank klappt jedoch bei einer Abfrage hagelt es immer eine
Zugriffsverletztung in dbxmys30.dll.

Delphi-Quellcode:
procedure TfrmMain.Button1Click(Sender: TObject);
var
  SQLConnection : TSQLConnection;
  SQLQuery : TSQLQuery;

begin
  SQLConnection := TSQLConnection.Create(Self);
  SQLConnection.ConnectionName := 'SQLCon';
  SQLConnection.DriverName := 'MYSQL';
  SQLConnection.GetDriverFunc := 'getSQLDriverMYSQL';
  SQLConnection.LibraryName := 'dbxmys30.dll';
  SQLConnection.VendorLib := 'LIBMYSQL.dll';

  SQLConnection.Params.Values['BlobSize'] := '-1';
  SQLConnection.Params.Values['Database'] := 'Kunden';
  SQLConnection.Params.Values['ErrorRessourceFile'] := '';
  SQLConnection.Params.Values['HostName'] := 'localhost';
  SQLConnection.Params.Values['LocaleCode'] := '0000';
  SQLConnection.Params.Values['User_Name'] := 'root';
  SQLConnection.Params.Values['Password'] := 'password';
  SQLConnection.Params.Values['Compressed'] := 'False';
  SQLConnection.Params.Values['Encrypted'] := 'False';

  SQLConnection.LoginPrompt := False;
  SQLConnection.ParamsLoaded := True;
  SQLConnection.KeepConnection := True;
  SQLConnection.Connected := True;

  SQLConnection.Open;
  Memo1.Lines.Add('Verbindung hergestellt ...!');

  SQLQuery := TSQLQuery.Create(Self);
  SQLQuery.SQLConnection := SQLConnection;
  SQLQuery.SQL.Text := 'Select * from Kunde';
  SQLQuery.Active := True;

  SQLConnection.Close;
  SQLConnection.Free;
  Memo1.Lines.Add('Verbindung beendet ...!');

end;
Die Zugriffsverletztung tritt bei SQLQuery.Active := True auf und lautet wie folgt.

Zitat:
Zugriffsverletzung bei Adresse 00C3B930 in Modul 'dbxmys30.dll'. Lesen von Adresse 00000000.

Was mache ich da Falsch?

Ich habe TurboDelphi Explorer auf einem WinXP Pro rechner installiert, so wie die Datenbank Server.


mfg

TUX
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Was mache ich falsch? MySQL via dbExpress (TurboDelphi)

  Alt 22. Jan 2007, 13:56
Hast du Update2 von BDS schon installiert
http://dn.codegear.com/article/33463
Scheint zudem (nur) für MySQL 4 zu sein:
Zitat:
Product Information: Borland dbExpress MySQL 4.0.xx driver
Das Probelm haben wohl noch mehr:
http://www.coding-board.de/board/showthread.php?t=21991

Schon mal hier geschaut bzw. Fehler eingestellt?
http://qc.codegear.com/wc/qcmain.aspx?da=2712
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.171 Beiträge
 
Delphi 10.4 Sydney
 
#3

Re: Was mache ich falsch? MySQL via dbExpress (TurboDelphi)

  Alt 22. Jan 2007, 14:04
Schmeiß die Kompos von Borland weg und besorgt dir die von Corelabs. Die Kompos von Borland sind Versionstechnisch hoffnungslos hinterher und da MySQL in der libmysql.dll die Schnittstelle immer inkompatible ändern ist das ein schönes Versionschaos.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
TUX_der_Pinguin

Registriert seit: 1. Jun 2005
Ort: Anholt (NRW)
608 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: Was mache ich falsch? MySQL via dbExpress (TurboDelphi)

  Alt 22. Jan 2007, 14:37
Da ich die kostenlose TurboDelphi Version habe, kann ich dort keine zusätzlichen Komponenten Installieren,
ausserdem war meine Frage nicht welche Komponente soll ich nehmen sondern wie Funktioniert das ganze mit der
bestehenden Komponente, ich vermute mein Fehler liegt in der Syntax wie ich die Abfrage aufgebaut habe, aber dazu
sagt mir ja nie jemand etwas, geschweige den postet jemand ein funktionierendes Beispiel. Es heißt immer kauf dir
dort und dort die und die Komponente...

Hmm das mit den Updates könnte evtl. etwas sein, habe da mal etwas installiert, jedoch wohl nicht das richtige oder alles.

Ich schau mal wo ich eine Liste aller Updates finde ..
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#5

Re: Was mache ich falsch? MySQL via dbExpress (TurboDelphi)

  Alt 22. Jan 2007, 14:53
Zitat von TUX_der_Pinguin:
Da ich die kostenlose TurboDelphi Version habe, kann ich dort keine zusätzlichen Komponenten Installieren,
ausserdem war meine Frage nicht welche Komponente soll ich nehmen sondern wie Funktioniert das ganze mit der
bestehenden Komponente, ich vermute mein Fehler liegt in der Syntax wie ich die Abfrage aufgebaut habe, aber dazu
sagt mir ja nie jemand etwas, geschweige den postet jemand ein funktionierendes Beispiel. Es heißt immer kauf dir
dort und dort die und die Komponente...
dbExpress war nun mal ein Griff ins Klo setens Borland. Und deshalb darf man hier vielleicht auch kein so großen Support seitens CodeGear erwarten. Und da dieses Problem ja öfters vorkommt (siehe auch Link) in meinem letzten Beitrag) und auch die MySQL-Version möglicherweise nicht unterstütz wird muß der Fehler nicht unbedingt in deinem Code liegen.
da das Problem schon länger besteht, wäre der Einsatz einer anderen Komponente/Bibliothek vielleicht kein Fehler.
[Edit: MySQL hat die Zugriffsbibliothek zwischen 4.1 und 5 geändert, deshalb funktioniert der Standard-DbExpress-Treiber vob Borland nicht mit Version >5. Abhilfe: Treiber der Berhard vorgeschalgen hat oder
http://forums.mysql.com/read.php?49,...1834#msg-81834
]
Markus Kinzler
  Mit Zitat antworten Zitat
TUX_der_Pinguin

Registriert seit: 1. Jun 2005
Ort: Anholt (NRW)
608 Beiträge
 
Delphi 11 Alexandria
 
#6

Re: Was mache ich falsch? MySQL via dbExpress (TurboDelphi)

  Alt 22. Jan 2007, 15:09
Ich habe mal geschaut ich habe nur mal nen Hotfix Rollup für Update 2 installiert, sonst nix und das kanns ja
irgendwie nicht sein, gibt es seits Borland nicht mal irgendwo ne Download Seite mit allen Updates und Patches
für die Turbo Delphi Version, ich mein die Leute die sich das für über 400 Euro kaufen können so etwas doch
erwarten.

Das ganze Problem mit 3. Komponenten ist folgendes ich bin erst mal am prüfen inwiefern wir mit TurboDelphi
kommen um es dann im nächsten Schritt evtl. zu kaufen, da ich ganz gern auch etwas mit Rapporten probieren
will, naja und da zu sagen ich muß TurboDelphi kaufen und noch zig weitere Komponenten um dann erst zu schauen
ob wir dann alles machen können was wir wollen ist schon Argh schlecht.

Ich schau mir das mal an mit dem Alternativen dbExpress Treiber.


Vielen dank für die Hilfe schon mal, auch wenn mein Ton ein wenig genervt klingt, was daran liegt das ich das
hier seit Tagen probiere und einfach nichts klappen will.

mfg

TUX
  Mit Zitat antworten Zitat
TUX_der_Pinguin

Registriert seit: 1. Jun 2005
Ort: Anholt (NRW)
608 Beiträge
 
Delphi 11 Alexandria
 
#7

Re: Was mache ich falsch? MySQL via dbExpress (TurboDelphi)

  Alt 23. Jan 2007, 08:28
Zitat von mkinzler:
http://forums.mysql.com/read.php?49,81834,81834#msg-81834
Ich habe mal den OpendbEpress Treiber runter geladen und schwupps keine Zugriffsverletztung mehr ...

Jetzt muß ich nur noch raus finden, wie ich die Daten aus meiner Datenbank in meinem Programm verwenden kann.
Da TSQLQuery.SQL.Text := 'Select * from Kunde' ja schön und gut is nur wo sind die Daten, das war ja auch
ein Problem meiner ganzen Postings das ich das nirgendwo finden konnte, oder ich einfach zu blind war.
  Mit Zitat antworten Zitat
Benutzerbild von mikhal
mikhal

Registriert seit: 11. Sep 2003
Ort: Linz am Rhein
796 Beiträge
 
Delphi 11 Alexandria
 
#8

Re: Was mache ich falsch? MySQL via dbExpress (TurboDelphi)

  Alt 23. Jan 2007, 08:32
Mit der Methode FindField deiner Query solltest du Zugriff auf die Daten haben. Ist bei allen Ableitungen von TTable und TQuery normalerweise der Weg, auf die Daten zuzugreifen.

Grüße
Mikhal
Michael Kraemer
Computer erleichtern die Arbeit...
...und die Erde ist eine Scheibe!
  Mit Zitat antworten Zitat
TUX_der_Pinguin

Registriert seit: 1. Jun 2005
Ort: Anholt (NRW)
608 Beiträge
 
Delphi 11 Alexandria
 
#9

Re: Was mache ich falsch? MySQL via dbExpress (TurboDelphi)

  Alt 23. Jan 2007, 08:34
Ah ok, danke. Werde das gleich mal probieren.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:15 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