PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : HILFE HILFE ADO und DBGrid


Jörg Hartmann
11.07.2000, 07:47
Hallo,

ich habe ein Problem mit ADO und DBGrid. Ich habe eine Access Datenbank mit 96000 Datensätze. Diese müssen in einen Grid angezeigt werde. Wenn die Datenbank geöffnet wird dauert dieses fast 5 Minunten. Ich benutze Cursor Location Client da Server nicht mit DBGrid zusammen arbeitet. Wie kann ich diese 5 Min. umgehen und schneller die Datenbank öffnen.

vielen Dank

jörg

Andreas Kosch
11.07.2000, 14:30
Hallo,

ich glaube einfach nicht, dass es einen Benutzer auf der Welt gibt, der mit 96 000 Datensätzen <b>gleichzeitig</b> umgehen kann und daher alle Datensätze gleichzeitig in einem DBGrid angezeigt bekommen muss. ADO (und das darunterliegenden OLE DB) legt seinen Schwerpunkt auf die mengenorientierten SQL-Datenbanken, daher ist diese von ISAM-Datenbanken her gewöhnte Herangehensweise ("Browsen im tabellarischen Datenbestand") nicht mehr zweckmässig.

Ich würde in jedem Fall die Datenmenge über eine geeignete Abfrage (WHERE-Bedingung) einschränken, so dass nicht alle Datensätze zum Client geladen werden müssen

12.07.2000, 15:46
Hallo,

Danke für die Antwort. Nun ist es so das sich hierbei um Pflanzen handelt die es in verschiedenen Ausführungen gibt. So kann die Süßkirsche in ihren Variation durch 400 mal erscheine. So brauch der Kunde fast alle Datensätze. ich lese schon minimal ein die Original Datenbank hat ca 1.5 Millionen Datensätze.

Jörg Hartman

Andreas Kosch
12.07.2000, 17:07
Hallo,

das ist in der Tat ein Problem, zumal Microsoft und die Dokumentation der originalen ADO-Objekte immer sagt, das beim OLE DB-Provider JET ENGINE (ACCESS) <b>kein</b> client-side-cursor verwendet werden soll, sondern ein server-side-cursor ("alte" DAO-Vorgehensweise). Dummerweise kollidiert das aber mit ADO Express und dem DBGrid (Bookmarks)..... :-(

In diesem Fall und bei diesem Datenvolumen würde ich entweder zum<br>
a) Microsoft SQL Server 7, oder der<br>
b) kostenlosen MSDE (Microsoft Database Engine) wechseln. <br>
Wer u.a. im Besitz von MS Office Developer oder MS ACCESS 2000 ist, darf die MSDE als <i>SQL Server 7-Lite</i> (auf 4 Benutzer beschränkt) kostenlos mit seiner Anwendung weitergeben. Und auch ACCESS 2000 legt neue Datenbanken bevorzugt auf der MSDE an, so dass in der MDB-Datei nur noch die Formulare und Berichte gespeichert werden. Das Problem besteht dann zwar auch mit dieser Datenbank, nur sind hier die Möglichkeiten dank Transact-SQL deutlich vielfältiger.

P.S: Im Kleingedruckten ist bei MS zu lesen, das reine ACCESS-Projekte <b>nicht</b> von DAO auf ADO umgestellt werden sollen. ADO ist mehr auf die Bedürfnisse der SQL-Datenbanken ausgerichtet