![]() |
Datenbank: mysql • Version: 5.1 • Zugriff über: zeoslib 6... (neueste Version)
Probleme mit mysql und zquery (zeoslib)
Hallo,
folgendes Problem: mysql Server läuft, Connection kann etabliert werden. Sobald ich eine Tquery aufs Formular ziehe kann ich zwar noch kompilieren (erfolgreich) aber wenn ich das Programm starten will erscheint: an dieser Stelle:
Delphi-Quellcode:
Dieser Code:
procedure TZAbstractRODataset.Notification(AComponent: TComponent;
Operation: TOperation); begin inherited Notification(AComponent, Operation); if (Operation = opRemove) and (AComponent = FConnection) then begin Close; FConnection := nil; end; if (Operation = opRemove) and Assigned(FDataLink) and (AComponent = FDataLink.Datasource) then FDataLink.DataSource := nil; if (Operation = opRemove) and Assigned(FDataLink) and (AComponent = FDataLink.Datasource) then erzeugt eine Exception: Eaccessviolation... Offensichtlich hab ich hiermit Probleme: FDataLink.Datasource Kann mir jemand helfen? Danke im Vorraus |
Re: Probleme mit mysql und zquery (zeoslib)
Und so?
Delphi-Quellcode:
if (Operation = opRemove) and Assigned(FDataLink) and Assigned(FDataLink.DataSource)
and (AComponent = FDataLink.Datasource) then FDataLink.DataSource := nil; |
Re: Probleme mit mysql und zquery (zeoslib)
Hallo,
das würde aber bedeuten, dass im zeoslib ein Fehler enthalten ist. Das ist jedoch so fundamental, dass ich eher glaube, dass der Fehler bei mir liegt. Gruss Rainer |
Re: Probleme mit mysql und zquery (zeoslib)
Dann zeig doch mal Deinen Code, bei dem der Fehler auftritt (hatte gar nicht bemerkt, dass das der ZEOS-Code war :oops: ).
|
Re: Probleme mit mysql und zquery (zeoslib)
Hallo,
war völlig ohne Code. Hab nur die Komponenten Zconnection und Zquery auf das Formular gezogen. Bei Zconnection alle notwendigen parameter eingegeben. Beim create des Formulars passiert das schon. Aber ist durch das abwählen des Compilerschalters erledigt. Merkwürdig Danke |
Re: Probleme mit mysql und zquery (zeoslib)
Wirklich merkwürdig, das hab ich bisher noch nicht gehabt.
|
Re: Probleme mit mysql und zquery (zeoslib)
Ich würde mal eine älter libmysql.dll ausprobieren. MySQL verändert diese DLL ja ab und zu mal auf inkompatible art und weise.
|
Re: Probleme mit mysql und zquery (zeoslib)
Hallo,
das mit der Connection hat sich soweit erledigt, dass ich eine Verbindung aufbauen kann. Zquery kann ich jetzt auf die Form schieben. Sobald ich das Query aktiv mach will kommt Fehlermeldung: Column with name "Extra" not found. Was mach ich falsch? Grüsse Rainer |
Re: Probleme mit mysql und zquery (zeoslib)
Wie sieht das SQL denn aus?
|
Re: Probleme mit mysql und zquery (zeoslib)
Hallo,
select * from test1 In der Tabelle test1 ist ein Spaltenname vorhanden und der heisst u1. Grüsse Rainer |
Re: Probleme mit mysql und zquery (zeoslib)
Da ist aber echt der Wurm drin. Hast Du gemäß mkinzler mal darauf geachtet, dass Du die passende libmysql.dll verwendest?
|
Re: Probleme mit mysql und zquery (zeoslib)
Hast du Feldzugriffsfelder für den Query erzeugt?
|
Re: Probleme mit mysql und zquery (zeoslib)
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo,
hab alle mögliche dll's probiert, immer das gleiche. hab keine Feldzugriffsfelder definiert. vielleicht mach ich auch grundsätzlich was verkehrt. Hab einfach mal den Code angehängt. Ich kriege schon Probleme wenn ich das Zquery aktiv schalten will. Grüsse Rainer |
Re: Probleme mit mysql und zquery (zeoslib)
In der IDE aktiv setzen oder was meinst Du?
|
Re: Probleme mit mysql und zquery (zeoslib)
Ja
|
Re: Probleme mit mysql und zquery (zeoslib)
Ersetzt mal
Delphi-Quellcode:
durch
qrmain.ExecSQL;
Delphi-Quellcode:
qrmain.Open;
|
Re: Probleme mit mysql und zquery (zeoslib)
Hallo,
immer noch gleiche Fehlermeldung gleiches Problem. Da das fanze schon in der IDE nicht funktioniert (Property active auf true) kann das auch nicht die Lösung des Problems sein. Was gehört eigentlich in die properties (Zconnection) Database und Catalog Ich habe in beide einfach den Namen meiner Datenbank geschrieben. Grüsse Rainer |
Re: Probleme mit mysql und zquery (zeoslib)
Delphi-Quellcode:
Und lass mal den Catalog leer.
procedure TForm1.Button2Click(Sender: TObject);
begin qrmain.Close; qrmain.SQL.Clear; qrmain.SQL.Add('select * from test1'); //qrmain.ExecSQL; //qrmain.Active:=true; qrmain.Open; end; |
Re: Probleme mit mysql und zquery (zeoslib)
Welche 5.1er-Version hast du genau? Da es sich hierbei noch um Beta-Versionen handelt können auch noch Bugs vorhanden sein (was z.B. bei der 4.1.22er bei den Systemtabellen der Fall ist).
|
Re: Probleme mit mysql und zquery (zeoslib)
Hallo,
sorry aber genau die gleiche Fehlermeldung. es wird an dieser Stelle eine Exception ausgelöst: (Code gehört zu Zeoslib)
Delphi-Quellcode:
ColumnName beim 1. Durchlauf: TABLE_NAME
function TZAbstractResultSet.GetColumnIndex(const ColumnName: string): Integer;
begin Result := FindColumn(ColumnName); if Result < 1 then raise EZSQLException.Create(Format(SColumnWasNotFound, [ColumnName])); end; ColumnName beim 2. Durchlauf: Field ColumnName beim 3. Durchlauf: Type ColumnName beim 4. Durchlauf: Null ColumnName beim 5. Durchlauf: Extra hier ist dann result = 0 und damit löst er eine Exception aus. Grüsse Rainer |
Re: Probleme mit mysql und zquery (zeoslib)
Das Feld "Extra" scheint wirklich auf Systemtabellen hinzudeuten.
|
Re: Probleme mit mysql und zquery (zeoslib)
Hallo,
mysql 5.1 keine Beta. Zeoslib 6.0.1 ist zwar Beta habs aber auch schon mit einer früheren Version versucht genau das gleiche Resultat. Grüsse Rainer |
Re: Probleme mit mysql und zquery (zeoslib)
Nach den Ergebnissen fragt er auch eine ab. Zeig mal den gesamten Code
|
Re: Probleme mit mysql und zquery (zeoslib)
Hallo,
folgender Ablauf:
Delphi-Quellcode:
bei InternalInitFieldDefs;
qrmain.Active:=true;
--> procedure TZAbstractRODataset.InternalOpen; var ColumnList: TObjectList; begin CheckSQLQuery; CheckConnected; CurrentRow := 0; FetchCount := 0; CurrentRows.Clear; Connection.ShowSQLHourGlass; try { Creates an SQL statement and resultsets } if FSQL.StatementCount> 0 then ResultSet := CreateResultSet(FSQL.Statements[0].SQL, -1) else ResultSet := CreateResultSet('', -1); if not Assigned(ResultSet) then begin if not (doSmartOpen in FOptions) then raise Exception.Create(SCanNotOpenResultSet) else Exit; end; { Initializes field and index defs. } InternalInitFieldDefs; if DefaultFields and not FRefreshInProgress then CreateFields; BindFields(True); { Initializes accessors and buffers. } ColumnList := ConvertFieldsToColumnInfo(Fields); try RowAccessor := TZRowAccessor.Create(ColumnList); finally ColumnList.Free; end; FOldRowBuffer := PZRowBuffer(AllocRecordBuffer); FNewRowBuffer := PZRowBuffer(AllocRecordBuffer); FieldsLookupTable := CreateFieldsLookupTable(Fields); InitFilterFields := False; IndexFields.Clear; GetFieldList(IndexFields, FLinkedFields); {renamed by bangfauzan} { Performs sorting. } if FSortedFields <> '' then InternalSort; finally Connection.HideSQLHourGlass; end; end;
Delphi-Quellcode:
Grüsse Rainer (ich weiss dass das ne Zumutung ist aber besser krieg ichs nicht hin)
procedure TZAbstractRODataset.InternalInitFieldDefs;
var I, J, Size: Integer; AutoInit: Boolean; FieldType: TFieldType; ResultSet: IZResultSet; FieldName: string; FName: string; begin FieldDefs.Clear; ResultSet := Self.ResultSet; AutoInit := ResultSet = nil; try { Opens an internal result set if query is closed. } if AutoInit then begin CheckSQLQuery; CheckConnected; ResultSet := CreateResultSet(FSQL.Statements[0].SQL, 0); end; if not Assigned(ResultSet) then raise Exception.Create(SCanNotOpenResultSet); { Reads metadata from resultset. } with ResultSet.GetMetadata do begin if GetColumnCount > 0 then for I := 1 to GetColumnCount do begin ---->>>> hier wird Exception ausgelöst: FieldType := ConvertDbcToDatasetType(GetColumnType(I)); if FieldType in [ftString, ftWidestring, ftBytes] then Size := GetPrecision(I) else Size := 0; J := 0; FieldName := GetColumnLabel(I); FName := FieldName; while FieldDefs.IndexOf(FName) >= 0 do begin Inc(J); FName := Format('%s_%d', [FieldName, J]); end; with TFieldDef.Create(FieldDefs, FName, FieldType, Size, False, I) do begin {$IFNDEF FPC} {$IFNDEF FOSNOMETA} Required := IsWritable(I) and (IsNullable(I) = ntNoNulls); {$ENDIF} {$ENDIF} {$IFNDEF FOSNOMETA} if IsReadOnly(I) then Attributes := Attributes + [faReadonly]; Precision := GetPrecision(I); {$ENDIF} DisplayName := FName; end; end; end; finally { Closes localy opened resultset. } if AutoInit then begin if ResultSet <> nil then begin ResultSet.Close; ResultSet := nil; end; if Statement <> nil then begin Statement.Close; Statement := nil; end; end; end; end; |
Re: Probleme mit mysql und zquery (zeoslib)
Hallo,
ich habe gegooglt und habe festgestellt, dass Andere das gleiche Problem haben. Offensichtlich hängt das mit der Zeos-Version und dem benutzten Mysql ab. Weitere Informationen wenn ich mehr herausgefunden habe. Rainer |
Re: Probleme mit mysql und zquery (zeoslib)
Zitat:
![]() |
Re: Probleme mit mysql und zquery (zeoslib)
OK Bernhard,
du hast recht. Ich habe das aber nicht aus dem Developer-Zweig geholt. Nur am Dateinamen kann man erkennen, dass das eine RC Version ist. Danke für den Hinweis. Rainer Guten Rutsch! |
Re: Probleme mit mysql und zquery (zeoslib)
Hallo,
der Fehler tritt nicht mehr auf seit ich die Version 5.0 von Mysql installiert habe. Noch eine Bemerkung: Es wird einem nicht allzu leicht gemacht auf der MYSQL Homepage. Dies waren meine ersten Erfahrungen mit MYsql und die waren so, dass ich zumindest was den professionellen Bereich ( in meiner Firma ) betrifft stärkste Bedenken hätte es einzusetzen. Aber nicht weils vielleicht nicht funktioniert, aber dieser Versionsdurcheinander ist schon extrem. Vor allem weil man Hellseher sein muss um herauszufinden mit was man arbeitet. Grüsse Rainer Für alle DP'ler einen guten Rutsch |
Re: Probleme mit mysql und zquery (zeoslib)
Ich würde Dir auch eher zu Firebird raten.
|
Re: Probleme mit mysql und zquery (zeoslib)
Zitat:
Ungünstiger ist das der Support/Bereitstellung von vorkompilierten Versionen fast zum erliegen gekommen ist. Bis vor kurzen wurden wenigsten Builds bereitgestellt wenn Sicherheitlücken gefixt wurden. Aber man will ja verstärkt unser bestes - unser Geld. Viele SW-Entwickler werden gar nicht wissen das sie ein kostenpflichtige Lizenz kaufen müssen sobald sie z.B. die libmysql.dll mit ihren Programm verteilen und ihr Programm nicht als Sourcecode zur verfügung gestellt wird. |
Re: Probleme mit mysql und zquery (zeoslib)
Deshalb auch DeddyH's Rat zu FireBird.
|
Re: Probleme mit mysql und zquery (zeoslib)
Hallo,
Zitat:
Ausserdem sind diese noch über den normalen und den Entwicklerbereich verstreut. Du warst wohl lange nich mehr auf dieser Website? Aber lassen wir das wir müssen uns ja im auslaufenden nicht noch streiten. Ich habe mir meine Meinung gebildet. Grüsse Rainer |
Re: Probleme mit mysql und zquery (zeoslib)
Ich weiß ehrlich gesagt nicht, was alle an MySQL so doll finden. Wenn es nicht bei vielen Webspaces dabei wäre, wäre es IMO vollkommen uninteressant. Ich kann mich nur wiederholen: lieber Firebird nehmen, das ist wirklich kostenfrei und ausgereift.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:01 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