Entwickler-Ecke

Datenbanken (inkl. ADO.NET) - Verständnisfrage: Access ohne Server ?


Bemalu - Fr 10.06.11 16:35
Titel: Verständnisfrage: Access ohne Server ?
Hallo

ich stehe gerade auf dem Schlauch. In vielen Büchern wird zum Thema "C# und Datenbanken" beispielhaft eine Access-Datenbank benutzt. Schein ja ganz einfach zu sein, einfach Connection-String mit Pfad zur Access-Datenbank angeben, verbinden und schon können SQL-Befehle abgesetzt und mit read() ausgewertet werden.

Schön und gut, aber funktioniert das auch im Netztwerk mit mehreren Usern ? Und wo ist denn der Datenbank-Server, welcher die SQL-Befehle auswertet ? Grübel und studier ... Wieso soll ich mühsam einen SQL-Server aufsetzen, wenn es auch ohne geht ?

Oder nhabe ich da was falsch verstanden ?

Bema


gfoidl - Fr 10.06.11 17:52

Hallo,

Access ist dafür auch nicht wirklich geeigent - außer für die einfachen Einführungsbeispiele.

Lokal wäre zB der SQL Server Compact geeigneter.
Im Netzwerk für mehrere User wäre der SQL Server Express geeignet - oder gleich der richtige (aber der ist teuer und die Express-Version kostenlos).


mfG Gü


stendate - So 12.06.11 00:11

user profile iconBemalu hat folgendes geschrieben Zum zitierten Posting springen:
Hallo
Schön und gut, aber funktioniert das auch im Netztwerk mit mehreren Usern ?


Ja, einfach den UNC-Pfad nehmen, und die Pfadtiefe möglichst kurz halten, also z.B. nicht \\servername\foo\bar\001\projekte\db.mdb sondern \\servernmane\db\db.mdb.

Zitat:

Und wo ist denn der Datenbank-Server, welcher die SQL-Befehle auswertet ?


Das macht bei Filesystem-Datenbanken der Client selbst, in diesem Fall die Jet-Engine.
Bei mehreren Clients die gleichzeitig zugreifen hat man im Primzip eine Art Multimaster-Szenario mit einem zentralen Lock (die ldb-Datei die der erste Client der sich verbindet erstellt und der letzte Client der die Verbindung schließt dann wieder löscht).

Zitat:

Grübel und studier ... Wieso soll ich mühsam einen SQL-Server aufsetzen, wenn es auch ohne geht ?


Weil die Performance deutlich besser ist. Ich empfehle dir das Dokument "SSMAAcess.docx" von [1], da steht ganz konkret drin für welchen Zweck sich Access eigenet und für welchen nicht mehr.

[1]: http://www.microsoft.com/downloads/en/details.aspx?FamilyID=3f0f2a3f-dff9-49cd-8ea7-581aa7a303a4


Bemalu - So 12.06.11 11:45

Vielen Dank !

Langsam kommt Licht ins Dunkel.

LG

Bema