Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi ZeosLib und SQL Anywhere (https://www.delphipraxis.net/69920-zeoslib-und-sql-anywhere.html)

Hoshy 22. Mai 2006 13:22

Datenbank: Sybase ASA • Version: 9.0 • Zugriff über: ZeosLib 6.5.1 / ADO

ZeosLib und SQL Anywhere
 
Hi,

ich habe ein paar Probleme mit der ZeosLib 6.5.1 und einer Sybase Adaptive Server Anywhere 9.0 Datenbank :-(

(1) Irgendwie scheinen die Zeos Komponenten einen Knacks bzw. ein memory leak zu haben, denn zwischendurch schraubt sich die CPU-Auslastung von Delphi (7.0) schonmal auf 95% plus und bleibt auch da...ausserdem "verbraucht" Delphi ab dann immer mehr Speicher, das hört nicht mehr auf und ich muss Delphi per TaskMan abschiessen. Schon jemand Erfahrung mit dem Thema?

(2) Zugriff auf eine ASA 9.0 per ADO. Ich greife per TZTable (oder auch TZQuery, das macht keinen Unterschied) auf eine Tabelle zu, die als Primärschlüssel das hier hat:

ID integer NOT NULL default AUTOINCREMENT

Dann füge ich einen neuen Datensatz ins Resultset ein, was auch noch geht. Beim Versuch zu posten gibt's dann die Fehlermeldung "Feld 'autoincrement' nicht gefunden" :shock:
Benutze ich zusätzlich ein TZUpdateSQL, dann geht's...auch mit den "normalen" ADO Komponenten funktioniert alles einwandfrei.

Irgendwelche guten Ideen?

Gruß
Andi

Edit:
So ganz ausgegoren sind die Zeos Komponenten wohl nicht...Der Fehler liegt daran, dass das zuständige Metadata Object (--> TZSqlMetadata) das Wort "autoincrement" als default value für die Spalte liefert..und auch sonst steht da einiges an Schrott drin!

Das es bei angeschlossenem TZUpdateSQL nicht auch knallt, wundert mich jetzt nicht mehr; denn da werden die Default-Werte der Datenbankspalten von den Zeos-Komponenten einfach mal komplett ignoriert :wall:

Bernhard Geyer 22. Mai 2006 20:18

Re: ZeosLib und SQL Anywhere
 
Probier mal SQL-Direct

Hoshy 22. Mai 2006 20:39

Re: ZeosLib und SQL Anywhere
 
Zitat:

Probier mal
Danke für den Link, werde ich gelegentlich mal ausprobieren...Nur hatte ich eigentlich nicht vor, nochmal 150$ in das Projekt zu pumpen :-D

Ich hab' jetzt die Zeos Sourcen an einer passenden Stelle angepasst, mal sehen, was ich noch für Überraschungen erlebe...Mit der 6.0.3er Version der Anywhere funktionieren die Zeos Komponenten übrigens auch wie gewünscht. Hab' erst jetzt bemerkt, das die ZeosLib sich noch im Alpha-Stadium befinden, dem Datum nach zu urteilen wird das wohl auch so bleiben...echt schade!

Naja, wenn ich gar nicht mehr weiterkomme, schwenk ich halt auf ADO um oder schieb eine andere Datenbank drunter, Gott sei Dank ist es ein recht kleines Projekt...

Bernhard Geyer 22. Mai 2006 21:19

Re: ZeosLib und SQL Anywhere
 
Zitat:

Zitat von Hoshy
Naja, wenn ich gar nicht mehr weiterkomme, schwenk ich halt auf ADO

Aber bitte nur wenn du dann denn MS-SQL-Server verwendest. Für alle andere Datenbanken gibt es bessere/direktere Möglichkeiten.

Jelly 22. Mai 2006 21:46

Re: ZeosLib und SQL Anywhere
 
Ich hatte das Problem auch mal mit Autoinc Feldern, in Verbindung mit MySQL und PostGres. Bei mir hat es geholfen, das ID Feld auf FieldKind=fkInternalCalc zu setzen.

Ausserdem, wo liegt das Problem, die TZUpdateSQL Komponente zu benutzen ?

Hoshy 23. Mai 2006 07:34

Re: ZeosLib und SQL Anywhere
 
Zitat:

Ausserdem, wo liegt das Problem, die TZUpdateSQL Komponente zu benutzen ?
Ich wusste, dass diese Frage kommen würde :-D

Die Antwort steht aber weiter oben: Dann werden bei neuen Datensätzen die default Werte für die jeweiligen Spalten nicht vorbelegt...Und prinzipiell: Jede zusätzliche Komponente erhöht die Gefahr/Wahrscheinlichkeit, dass irgendetwas an irgendeiner Stelle nicht funktioniert.

FieldKind auf fkInternalCalc hat leider nix gebracht, ebensowenig wie Fieldtype auf TAutoIncField zu setzen oder AutoGenerateValue auf arAutoInc.


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:13 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-2025 by Thomas Breitkreuz