![]() |
Re: Access DB beim Rechnerstart laden
Ich habe das Problem das es eine MSAccess Anwendung schon existiert und ich eine Anwendung in Delphi schreiben soll die noch einige Funtkionen mehr hat als die jetzige Version. Und ich muß ja dann die Datenbank 1 zu 1 übernehmen um keine Ausfallzeit dann zu haben.
|
Re: Access DB beim Rechnerstart laden
Soll dann Access und Delphi-Version parallel laufen?
|
Re: Access DB beim Rechnerstart laden
Nein, es soll dann nur noch die Delphi-Version laufen. Beziehungsweise wenn noch irgendwelche Fehler festgestellt worden (was ich nicht hoffen will) dann soll die Access-Anwendung noch mal benutzt werden
|
Re: Access DB beim Rechnerstart laden
Zitat:
2. Und wie aus der 2-ten. Du wirst nie und nimmer die 117000 Datensätze anzeigen müssen, und auch nicht zu deinem Programm zu transferieren... Durch Setzen deinen MasterDatasource ist es einzig und allein Delphi, der sich ums Filtern kümmert, und nicht Access. Es werden also alle 117000 transferiert, und Delphi zeigt nur die Datensätze an, die matchen... Deshalb besser: 1. Select * from Tabelle1 where Name='Dagobert Duck' ; Das liefert dir genau einen Record, deinen Masterrecord. Mit einem entsrpechendem Index auf der Spalte Name, dauert das selbst bei Access keine 1/10 Sekunde. Dann im OnAfterScroll Event würd ich die 2. Query aufbauen, die so aussehen kann: Select * from Tabelle2 where AdrId = :Id
Delphi-Quellcode:
Das hat den ganz entscheidenden Vorteil, dass Access nur die Datensätze liefert, die auch wirklich relevant sind.
begin
with Tabelle2 do begin close ; Parambyname ('id').AsInteger := Tabelle1.FieldByName('deinePrimaryKeySpalte').AsInteger ; open ; end ; end ; |
Re: Access DB beim Rechnerstart laden
Ich bin der Meinung, daß bei einer Neuentwicklung auf erkannte Schwachstellen reagiert werden sollte, ich würde ein Wechsel der Datenbank-Plattform ernsthaft in Betracht ziehen.
BTW man kann auch die Access-datenbank auf externe Datenbanken umlenken, so daß auch die Access-Anwendung später auf die neue datenhaltung zugreifen könnte. |
Re: Access DB beim Rechnerstart laden
Welche Datenbank wird den entfohlen wenn man so eine große Datenmenge hat.
|
Re: Access DB beim Rechnerstart laden
Zitat:
Wenn du weiter mit ADO arbeiten möchtest ist MSSql vielleicht die beste Alternative, wenn eifaches Deployment und wenig Administrationsaufwand im Vordergrund steht FireBird. Diese Entscheidung ist aber recht subjektiv zu treffen. |
Re: Access DB beim Rechnerstart laden
Zitat:
Wieviel Tabellen und Views sind denn in der Accessdatenbank enthalten? Beim Umschwung von Access auf einen SQL Server ist dennoch zu bearbeiten, dass man sich nun in einem richtigen Client Server System bewegt, mit all seinen Vor- und Nachteilen. Vorteile liegen auf der Hand. Nachteile: Multiuserumgebung, bei der man als Entwickler achten muss. Da fallen so Sachen wie Transactionmanagent an. Mein Tipp: Wenn es eine Singleuserumgebung bleibt, so wird auch Access weiterhin ausreichend sein, keine Frage. Denn auch beim SQL Server dauert das Transferiern von grossen Datenmengen zum Client so seine Zeit. |
Re: Access DB beim Rechnerstart laden
Zitat:
Zitat:
|
Re: Access DB beim Rechnerstart laden
In der Access Datenbank sind 14 Tabellen enthalten, es ist eine Singeluser-Anwendung.
Also die Anwendung wir auf einen Computer verwendet und es greifen auch keine anderen User drauf zu. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:16 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