![]() |
Datenbank: MySQL • Version: 5.1 • Zugriff über: dbExpress
Zugriffsverletzung dbxmys30.dll
Beim Öffnen der SQLQuery knallt es im dbExpress Treiber, ich hab mal ein bischen nachgeforscht und es scheint wohl so zu sein, dass die Delphi Versionen vor 2007 keie LIBMYSQL.dll > 4.0 unterstürtzen. Der Fehler liest sich so:
Code:
Callstack (wenn man die SQLQuery zur Designzeit auf Active setzt):
---------------------------
Fehler --------------------------- Zugriffsverletzung bei Adresse 0D04B960 in Modul 'dbxmys30.dll'. Lesen von Adresse 00000002. --------------------------- OK Details << ---------------------------
Code:
so zu reproduzieren:
+ $1907C[0D04B960]{dbxmys30.dll} getSQLDriverMYSQL + $1907C
+ $0[51F26B4B]{rtl100.bpl } System.System.@HandleAnyException (Line 9980, "system.pas" + 13) + $0 + $81[77779B66]{ntdll.dll } RtlRaiseStatus + $81 + $A[777799F2]{ntdll.dll } KiUserExceptionDispatcher + $A + $1AE8[0D0343CC]{dbxmys30.dll} getSQLDriverMYSQL + $1AE8 + $33C9[0D035CAD]{dbxmys30.dll} getSQLDriverMYSQL + $33C9 + $A[52BE86E1]{dbexpress100.bpl} SqlExpr.SqlExpr.TISQLCommand30.execute (Line 2287, "SqlExpr.pas" + 1) + $A + $14[52BF3F23]{dbexpress100.bpl} SqlExpr.SqlExpr.TCustomSQLDataSet.ExecuteStatement (Line 6750, "SqlExpr.pas" + 38) + $14 + $2[52BF0FFA]{dbexpress100.bpl} SqlExpr.SqlExpr.TCustomSQLDataSet.InternalOpen (Line 5590, "SqlExpr.pas" + 1) + $2 + $4[036DF069]{dbrtl100.bpl} DB.DB.TDataSet.DoInternalOpen (Line 9259, "DB.pas" + 2) + $4 + $7[036DEFDD]{dbrtl100.bpl} DB.DB.TDataSet.SetActive (Line 9241, "DB.pas" + 12) + $7 + $0[51F4AC2E]{rtl100.bpl } TypInfo.TypInfo.SetOrdProp (Line 1318, "TypInfo.pas" + 27) + $0 + $6[20EFD30A]{designide100.bpl} DesignEditors.DesignEditors.TEnumProperty.SetValue (Line 1402, "DesignEditors.pas" + 5) + $6 + $16[20EFB99C]{designide100.bpl} DesignEditors.DesignEditors.TPropertyEditor.Edit (Line 671, "DesignEditors.pas" + 11) + $16 + $5[20C9697E]{coreide100.bpl} PropInsp.PropInsp.TPropertyInspector.PropListEditDblClick (Line 837, "PropInsp.pas" + 20) + $5 + $A[20FDD681]{vclide100.bpl} IDEInspListBox.IDEInspListBox.TInspListBox.DoEditDblClick (Line 981, "ideinsplistbox.pas" + 2) + $A + $6[5205CA19]{vcl100.bpl } Controls.Controls.TWinControl.WndProc (Line 7246, "Controls.pas" + 105) + $6 ...
Befehle ohne Ergebnisse (Create Table) gehen intressanterweise über .ExecSQL . Konkret angewendeter Code, der den Fehler auch produziert:
SQL-Code:
select * from firsttable;
Delphi-Quellcode:
Weiß jemand, ob (und wenn ja wo) es einen funktionierenden dbExpress Treiber für MySQL 5.1 gibt? Man müsste diesen ja dann nur noch der dbxdrivers.ini hinzufügen.
procedure TMainForm.Button1Click(Sender: TObject);
var Str: string; begin SQLQuery1.Open; //Fehler SQLQuery1.First; while not SQLQuery1.EOf do begin Str:= SQLQuery1.FieldByName('Name').AsString; ShowMessage(Str); SQLQuery1.Next; end; end; [Edit]Aus der TQuery die TSQLQuery gemacht. |
Re: Zugriffsverletzung dbxmys30.dll
Für MySQL 5.0 habe ich das hier gefunden:
![]() |
Re: Zugriffsverletzung dbxmys30.dll
Ich teste das mal.
|
Re: Zugriffsverletzung dbxmys30.dll
Ich schmeiß mal die
![]() |
Re: Zugriffsverletzung dbxmys30.dll
Zitat:
Zitat:
|
Re: Zugriffsverletzung dbxmys30.dll
Zitat:
|
Re: Zugriffsverletzung dbxmys30.dll
Ja, ich würde auch im Zweifelsfall auch tippen, dass sie wie alles andere im TDE auch zur Laufzeit keine Probleme machen, nur ist es halt umständlicher.
Nur sind mir 100+ Euro für ein kleines Programm, was ich umsonst für einen Freund schreibe, dann doch zu viel. :wink: Es muss doch irgendwo einen aktuellen Treiber zu finden geben? Mal sehen vielleicht hilft die Embarcadero-Seite, die von hier verlinkt ist, aber da scheint es auch erst Probleme mit gegeben zu haben: ![]() [OT]Google ist wieder schnell "treiber dbexpress dehlphi mysql 5.1" bringt uns schon auf Platz 3. |
Re: Zugriffsverletzung dbxmys30.dll
Wieso muß es denn überhaupt dbExpress sein? Nimm Zeos und du solltest keine Probleme haben.
|
Re: Zugriffsverletzung dbxmys30.dll
Da muss er auch alles manuell machen.
Oder ADO ( nicht optimal aber bei TDE dabei) |
Re: Zugriffsverletzung dbxmys30.dll
Mit ADO hab ich mich leider noch nicht ausreichend beschäftigt, zumindest hab ichs eben mit allem was nach SQL klang nicht wirklich zum laufen bekommen, was aber hier mehr an eigener Unfähigkeit gelegen haben dürfte :wink:
Für welche Anwendungsfälle wäre ADO von Vorteil? DbExpress hab ich nun nach einigem hin und her und ausprobieren diverses Treiber ![]() Damit sollte das jetzt (hoffentlich) erstmal funktionieren. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:59 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