Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi dbGo alternative MS-Access Datenbank Komponenten (https://www.delphipraxis.net/129087-dbgo-alternative-ms-access-datenbank-komponenten.html)

Cogito 12. Feb 2009 14:33

Datenbank: Access • Version: 2000 • Zugriff über: ADO

dbGo alternative MS-Access Datenbank Komponenten
 
Hallo zusammen,

kennt jemand verlässliche Datenbankzugriffskomponenten a la Corelab für MS Access? Ich stelle leider immer öfter fest, das die dbGo Komponenten doch irgendwie sehr wackelig sind. Beispielsweise öffnet die ADOTable Komponente bei mir manchmal bestimmte Tabellen nicht (bringt einfach nur die Fehlermeldung Unbekannter Fehler), Probleme bei Master-Detail Relationen usw... Ich habe die Corelab Komponenten für MS SQL Server und die sind doch aus ganz anderem Holz geschnitzt, aber leider sehe ich dort nix für den Zugriff auf MS Access. Kennt irgendjemand von euch solche Komponenten?

mkinzler 12. Feb 2009 14:36

Re: dbGo alternative MS-Access Datenbank Komponenten
 
Es gibt alternative Wrapper um ADO:
http://www.torry.net/pages.php?s=121
Wenn der Fehler aber nicht am Wrapper liegt sondern an JET, dann helfrn diese natürlich nicht. Ich würde nach einer Atlternative zu Access suchen.

Cogito 12. Feb 2009 14:45

Re: dbGo alternative MS-Access Datenbank Komponenten
 
Zitat:

Zitat von mkinzler
Es gibt alternative Wrapper um ADO:
http://www.torry.net/pages.php?s=121
Wenn der Fehler aber nicht am Wrapper liegt sondern an JET, dann helfrn diese natürlich nicht. Ich würde nach einer Atlternative zu Access suchen.

Wäre natürlich auch eine Überlegung, ich wollte ja MS SQL Server nutzen, deshalb hab ich ja die Corelab Komponenten. Das Problem ist, das ich jetzt durch eine Infrastrukturvorgabe keinen extra DB-Server, sondern lediglich noch ein Sharelaufwerk zum gemeinsamen DB-Zugriff bekomme. Dort kann ich leider nichts installieren, deshalb die Überlegung einfach MS Access zu benutzen. Die mdb-DB könnte man einfach ins Share schieben und gut ist.

Bernhard Geyer 12. Feb 2009 14:52

Re: dbGo alternative MS-Access Datenbank Komponenten
 
Zitat:

Zitat von Cogito
... keinen extra DB-Server, sondern lediglich noch ein Sharelaufwerk zum gemeinsamen DB-Zugriff bekomme. Dort kann ich leider nichts installieren, deshalb die Überlegung einfach MS Access zu benutzen.

Es gibt genügend Alternative Desktop-DB's mit Multiuser-Zugriff die sowas viel besser als Access können. Namen sind z.B. ADS Local Server, TurboDB, Absolute Database, Accuracer, ...

Cogito 12. Feb 2009 15:03

Re: dbGo alternative MS-Access Datenbank Komponenten
 
Zitat:

Zitat von Bernhard Geyer
Zitat:

Zitat von Cogito
... keinen extra DB-Server, sondern lediglich noch ein Sharelaufwerk zum gemeinsamen DB-Zugriff bekomme. Dort kann ich leider nichts installieren, deshalb die Überlegung einfach MS Access zu benutzen.

Es gibt genügend Alternative Desktop-DB's mit Multiuser-Zugriff die sowas viel besser als Access können. Namen sind z.B. ADS Local Server, TurboDB, Absolute Database, Accuracer, ...

Aha, sehr interessant. Offen gestanden noch nicht davon gehört. Wie greift man denn auf diese zu, gibts dafür eigene Delphi-Komponenten?

Cogito 12. Feb 2009 15:38

Re: dbGo alternative MS-Access Datenbank Komponenten
 
Gehört Firebird auch zu dieser Kategorie? Könnte man diesen auch auf einem Sharelaufwerk ohne Installation benutzen?

mkinzler 12. Feb 2009 15:44

Re: dbGo alternative MS-Access Datenbank Komponenten
 
Der ist nicht dafür ausgelegt.

Bernhard Geyer 12. Feb 2009 15:44

Re: dbGo alternative MS-Access Datenbank Komponenten
 
Zitat:

Zitat von Cogito
Aha, sehr interessant. Offen gestanden noch nicht davon gehört. Wie greift man denn auf diese zu, gibts dafür eigene Delphi-Komponenten?

Dies sind Desktop-DB die primär für Delphi entwickelt wurden. Es gibt also Kompos

Zitat:

Zitat von Cogito
Gehört Firebird auch zu dieser Kategorie? Könnte man diesen auch auf einem Sharelaufwerk ohne Installation benutzen?

AFAIK kann die aktuell Version im Embedded-Betrieb keinen Multiuser-Betrieb.

Cogito 12. Feb 2009 15:53

Re: dbGo alternative MS-Access Datenbank Komponenten
 
also die kosten ja alle verhältnismässig viel Geld (z.B. TurboDB ~500€). Gibt's denn keine Opensource Bibliotheken?
Es gab doch mal von turbo power flashfiler, war das nicht auch sowas in der Art? Weiß jemand ob die auch noch unter neueren Delphi Versionen läuft (2006)?

mkinzler 12. Feb 2009 15:57

Re: dbGo alternative MS-Access Datenbank Komponenten
 
FlashFiler ist http://sourceforge.net/projects/tpflashfiler/ erhältlich

Cogito 12. Feb 2009 16:01

Re: dbGo alternative MS-Access Datenbank Komponenten
 
Zitat:

Zitat von mkinzler

Ah ja, es gibt sie also noch. Die ist aber scheinbar seit 203 nicht mehr angefasst worden, ist die noch in Delphi 2006 nutzbar?

mkinzler 12. Feb 2009 16:03

Re: dbGo alternative MS-Access Datenbank Komponenten
 
Musst du mal ausprobieren

shmia 12. Feb 2009 16:14

Re: dbGo alternative MS-Access Datenbank Komponenten
 
Mal was ganz Grundsätzliches:
Multiuser Zugriff auf eine Datenbank ist nicht möglich ohne einen Datenbankserver zu installieren!!!
Dieser Datenbankserver kann z.B. MSDE, SQL Server Express, Firebird, ADS, ... sein.

Nur mit einem Sharelaufwerk kann man keine Datenbank betreiben, die für mehrere Client-Rechner zur Verfügung steht!!!
Es gibt da solche Krücken wie z.B. Borland Paradox auf einem Netzlaufwerk, aber dann kann man sich gleich mit einem Revolver in den Fuss schiesen.
Desktop Datenbanken wie z.B. MS Access sind für den Zugriff von versch. Rechnern ungeeignet.

Man braucht nicht unbedingt ein Server Betriebssystem, um einen Datenbankserver zu betreiben.
Man kann alle oben aufgezählten DBMS auch auf einem (gut ausgestatteten !) Client-Rechner laufen lassen.

Bernhard Geyer 12. Feb 2009 16:30

Re: dbGo alternative MS-Access Datenbank Komponenten
 
Veto!

Es ist sehr wohl möglich Multiuser-Betrieb ohne Datenbankserver mit einer Desktop-DB zu ermöglichen. Jedoch darf man nicht die gleichen Stabilitätsanforderungen bezüglich Datenkonsistenz etc. an den tag legen den Stromausfälle am Client können zu kaputten DB's führen. Und ein nicht unerheblicher Teil des Know-Hows von Desktop-DB's sollte in der verhinderung von Datenverlust bei unerwarteten Abbrüchen liegen.

Und ob ein richtiger SQL Server zu 100% Stromausfälle etc. verkraftet ist auch fraglich. Jedoch sind dies nicht so häufig wie beim Client da USV RAID etc. sowas verhindern.

HaJo 12. Feb 2009 16:42

Re: dbGo alternative MS-Access Datenbank Komponenten
 
Interbase kennt dazu Shadowing-Dateien

Im SQL-Fenster bei verbundener DB eingeben: create shadow 1 auto "Lfw\Verzeichnis\Dateiname.shd"
Änderungen werden dort erst eingetragen, wenn sie in der Hauptdatenbank erfolgreich waren.

Geht das auch bei Firebird??

shmia 12. Feb 2009 17:33

Re: dbGo alternative MS-Access Datenbank Komponenten
 
Zitat:

Zitat von Bernhard Geyer
Es ist sehr wohl möglich Multiuser-Betrieb ohne Datenbankserver mit einer Desktop-DB zu ermöglichen.

Was aber, wenn eine Tabelle z.B. 500 MB auf der Platte belegt?
Bei einem Full-Table-Scan müssen dann 500 MB über das Netzwerk transportiert werden, obwohl vielleicht nur ein einziger Datensatz angefordert wird.
Ich habe z.B. bei MS Access festgestellt, dass so ungefähr ab 100 MB Datenbankgrösse die Performance bei Multiuserzugriff extrem schlecht wird, weil bei jeder Abfrage grosse Teile der Datenbank gelesen werden.
Das Netzwerk wird dann zum Flaschenhals.
In der Leistung kann das durchaus den Faktor 100 (gegenüber einem DB-Server) und mehr ausmachen.

Bernhard Geyer 12. Feb 2009 17:48

Re: dbGo alternative MS-Access Datenbank Komponenten
 
Die Performance-Probleme bei Desktop-DB's sind sicherlich gegeben. Aber auch mit GB großen DB's kann man (bei vernünftiger Programmierung) noch arbeiten.

Cogito 12. Feb 2009 19:29

Re: dbGo alternative MS-Access Datenbank Komponenten
 
Mein Problem ist, dass bei uns auf einem Client keinerlei DB-Server installiert werden dürfen, ein Mehrbenutzerzugriff auf eine DB aber möglich sein soll. Also kommt im Grunde nur eine Desktop-DB in Frage, aber mit den dbGo Komponenten klappt bei mir der Zugriff einfach nicht, sonst würde ich, aufgrund des nicht so großen Datenvolumens wahrscheinlich auf Access setzen. Vor allem weil Access bei uns offiziell validiert und freigegeben ist. Am besten wäre mir jetzt geholfen, wenn ich irgendwelche DB-Zugriffskomponenten auf MS Access finden würde, die zuverlässig funktionieren. Kennt denn wirklich niemand eine Alternative zu dbGo?


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 by Thomas Breitkreuz