AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Access DB beim Rechnerstart laden

Ein Thema von jensenwb · begonnen am 7. Jul 2006 · letzter Beitrag vom 9. Jul 2006
Antwort Antwort
Seite 2 von 3     12 3      
jensenwb

Registriert seit: 21. Dez 2002
Ort: Wittenberg
31 Beiträge
 
Delphi 3 Professional
 
#11

Re: Access DB beim Rechnerstart laden

  Alt 9. Jul 2006, 10:54
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.
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#12

Re: Access DB beim Rechnerstart laden

  Alt 9. Jul 2006, 11:01
Soll dann Access und Delphi-Version parallel laufen?
Markus Kinzler
  Mit Zitat antworten Zitat
jensenwb

Registriert seit: 21. Dez 2002
Ort: Wittenberg
31 Beiträge
 
Delphi 3 Professional
 
#13

Re: Access DB beim Rechnerstart laden

  Alt 9. Jul 2006, 11:03
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
  Mit Zitat antworten Zitat
Benutzerbild von Jelly
Jelly

Registriert seit: 11. Apr 2003
Ort: Moestroff (Luxemburg)
3.741 Beiträge
 
Delphi 2007 Professional
 
#14

Re: Access DB beim Rechnerstart laden

  Alt 9. Jul 2006, 11:07
Zitat von jensenwb:
Ich habe in der einen Datenbank ca 70.000 Datensätze und in der dazugehörenden anderen Datenbank ca 117.000 Datensätze. Wenn ich in der kleinen Datenbank einen Datensatz anzeige dann brauche ich in der Dazugehörenden großen Datenbank die entsprechenden Datenätze um die entsprechenden Touren zu ermitteln.
1. Wie holst Du dir den einen Datensatz aus der ersten Tabelle ?

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:
begin
   with Tabelle2 do begin
      close ;
      Parambyname ('id').AsInteger := Tabelle1.FieldByName('deinePrimaryKeySpalte').AsInteger ;
      open ;
   end ;
end ;
Das hat den ganz entscheidenden Vorteil, dass Access nur die Datensätze liefert, die auch wirklich relevant sind.
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#15

Re: Access DB beim Rechnerstart laden

  Alt 9. Jul 2006, 11:09
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.
Markus Kinzler
  Mit Zitat antworten Zitat
jensenwb

Registriert seit: 21. Dez 2002
Ort: Wittenberg
31 Beiträge
 
Delphi 3 Professional
 
#16

Re: Access DB beim Rechnerstart laden

  Alt 9. Jul 2006, 11:14
Welche Datenbank wird den entfohlen wenn man so eine große Datenmenge hat.
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#17

Re: Access DB beim Rechnerstart laden

  Alt 9. Jul 2006, 11:16
Zitat von jensenwb:
Welche Datenbank wird den entfohlen wenn man so eine große Datenmenge hat.
Da gibt es viele Alternativen MSSql, FireBird, Oracle, DB2, ...
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.
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von Jelly
Jelly

Registriert seit: 11. Apr 2003
Ort: Moestroff (Luxemburg)
3.741 Beiträge
 
Delphi 2007 Professional
 
#18

Re: Access DB beim Rechnerstart laden

  Alt 9. Jul 2006, 11:26
Zitat von mkinzler:
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.
Wichtig: Bei MSSQL fallen SEHR teure Lizenzgebühren an, ausser man bleibt bei der SQL Express Variante, die aber für erste sicherlich ausreichen wird.

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.
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#19

Re: Access DB beim Rechnerstart laden

  Alt 9. Jul 2006, 11:31
Zitat:
Wenn es eine Singleuserumgebung bleibt, so wird auch Access weiterhin ausreichend sein, keine Frage.
Dann wäre aber wirklich zu überlegen ob eine Speicherung der Datenbank im Netzt dann sinnvoll ist.
Zitat:
Denn auch beim SQL Server dauert das Transferiern von grossen Datenmengen zum Client so seine Zeit.
Ein einfaches Umstellen von Filebasierter auf C/S-Datenbank allein reicht natürlich nicht. Es muß u:u. auch einige Abfragen angepasst und optimiert werden.
Markus Kinzler
  Mit Zitat antworten Zitat
jensenwb

Registriert seit: 21. Dez 2002
Ort: Wittenberg
31 Beiträge
 
Delphi 3 Professional
 
#20

Re: Access DB beim Rechnerstart laden

  Alt 9. Jul 2006, 11:46
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.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 3     12 3      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:26 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz