Gast
#3129943
Hallo,
ich denke darüber nach, in Zukunft unter Windows 7 und folgenden
Windows-Betriebssystemen Datenbank-Software im klassischen
Fenster-Design mit C# zu programmieren.
Ein paar Sachen sind mir leider noch unklar, da benötige ich mal eure
Hilfe:
Zunächst die Wahl der Datenbank-Systems selbst...Es gibt da ja unter
anderem z.B. MS SQL Server Compact, MS SQL Server Express und MySQL in
die engere Wahl gezogen. Wegen der Beschränkungen bei MS SQL Express
glaube ich kaum, dass ich diese Grenzen in absehbarer Zukunft
überschreiten werde.
Bei Compact kann ich glaube ich nur lokal auf dem Client auf die
Datenbank zugreifen.
MySQL kenne ich von Webservern, da kann man dann wohl auch mal eine
Datenbank programmieren, an der viele Leute gleichzeitig arbeiten. Wie
würde man mit C# und MS SQL Express so etwas wie einen Server und
diverse Clients programmieren, die dann über das Internet auf den Server
zugreigen?
Bei Express und MySQL bin ich mir nicht sicher, wo da abgesehen von der
unterschiedlichen Syntax die wesentlichen Unterschiede bestehen?
Kann man mit allen drei Dialekten einfach und schnell Transaktionen
durchführen? Also ungefähr so:
1. BeginTransaktion
2. Diverse Querys nacheinander auf die DB loslassen...
3. CommitTransaktion
4. Ggf. Rollback.
Dann die Wahl des Connectors...ADO.NET, ODBC oder dieses LINQ? Was nimmt
man da am besten und funktioniert ODBC z.B. auch nach dem nächsten
Visual C# Express ServicePack noch?
Irgendwo habe ich gelesen, dass man die Abfragen und ähnliches besser
als Parameter an Funktionen übergibt("abkapseln"), um eine spätere
Portierung auf ein anderes Datenbank-System zu erleichtern. Da ist mir
nicht ganz klar ob und wie das mit LINQ funktioniert...
Und ich frage mich, wie sinnvoll dieses Abkapseln ist, wenn es gewisse
Unterschiede in der Syntax der verschiedenen Dialekte zu geben scheint?
Schöne Grüße...Thomas