| 

.NET C# Java Javascript Exception

2
Hallo,
wie leicht lässt sich MS Access als Datenbank für die eigene Anwendung nutzen?
Kann man davon ausgehen, dass auf jedem Client alles Benötigte schon vorhanden ist oder muss man irgendetwas mit installieren?
Hat jemand Informationen bezüglich Zugriffsgeschwindigkeiten? Oder KO Kriterien Access lieber nicht zu nutzen?
Es geht um reinen Lesezugriff mit Tabellen von teilweise 200000 Datensätzen. .Net 4.0, Access 2003 ggf 2007 möglich.
Besten Dank
News:
09.02.2012
KCT 937 1 1 8
2 Antworten
3
Hallo,

soweit ich mich erinnern kann musst Du MDAC installieren, dort sind auch die Jet-Treiber für Access enthalten. Von Haus aus sind sie nicht auf den Windows Maschinen installiert. Zugriff läuft dann über ODBC. Hier würde ich empfehlen eine richtige DB zu verwenden (SQL Server Express oder MySQL) um z.B. den SQL Native Client nutzen zu können.

Access ist schon ziemlich lahm, spätestens wenn Du mit mehreren Anwendern auf die gleiche DB zugreifen möchtest solltest Du lieber eine richtige DB verwenden.

Bei 200000 Datensätzen solltest Du auch über die Verwendung von Indizes nachdenken in 2007 gibt es die auf jeden Fall schon (bei 2003 bin ich mir nicht sicher). Gearbeitet habe ich mit dem Feature aber noch nicht. Auch hier würde ich eher empfehlen auf eine richtige DB zu wechseln.

Gruß
09.02.2012
LutzJ 1,3k 1 8
Indizes gibt es schon seit dem Jahre Schnee bei Access... Ich würde auch eher eine andere DB nehmen, SQLite zB.
cybere 09.02.2012
Da wir nicht wirklich was installieren wollen wäre das schon mal ein Grund gegen Access. Tendieren auch zu SQLite. Gepflegt werden die Daten aber eh in Access. Also sollte es für das Livesystem mit nur einem User der zugreift eine Rechtfertigung geben warum man Access nicht direkt nimmt. Für "lahm" wäre es gut wenn man das mit Daten belegen könnte. Danke jedenfalls
KCT 09.02.2012
1
Access ist bei uns Frontend / UI. Die mdb / accdb korrumpiert gelegentlich mal, zum Glück fast nur in der Entwicklung bislang. Dann ist kein Teil der Anwendung und Frontendtabellen (entwicklerseitige und Laufzeit-Client-Konfiguration und temporäre Tabellen) mehr zugänglich, weil M$-endusertypisch alles in einer Datei steckt. Ich zwinge mich deshalb stündlich zum Schließen und gescripteten "Zwischen-Backup". Alle paar Wochen mit SaveAsText ein kompletter Textdump, auch gescriptet. Alles, was seit dem letzten versionierenden Backup in der korrupten Datei passiert ist, ist dann aber komplett weg. Ich käme deshalb nicht auf die Idee, die Kundendaten / Nutzdaten in Access-Tabellen zu halten.

Der M$ SQL hat in Jahren noch in keiner Situation in den unterschiedlichsten Kundenkonfigurationen irgendein Datum verloren, auch die Express-Installationen nicht. Eine lokale Installation ist jederzeit auch möglich, läuft so auf meinem Entwicklungsrechner. Eine komplexe View ist außerdem am M$ SQL Server so performant wie in Access nur eine einfache Query.

Wenn es kein Datenbankserver sein soll, SQLite scheint mir auch sehr stabil. Mein Firefox hat jedenfalls noch nie einen Bookmark durch Korruption der places.sqlite verloren, seit Jahren nicht.
09.02.2012
mupan 575 1 8
mupan 575 1 8
Danke, guter Hinweis. Werde dann mal etwas vorsichtiger sein :)
KCT 09.02.2012

Stelle deine .net-Frage jetzt!