none
Datenbankzugriff unter .net RRS feed

  • Allgemeine Diskussion

  • Hallo zusammen,

    als Entwickler, der noch relativ neu im .net Umfeld ist, möchte ich meine erste Anwendung mit Zugriff auf eine Datenbank schreiben....doch erste Suchen unter Google ergaben eine Fülle von Möglichkeiten, eine Datenbank anzusprechen - so dass ich zugegebenermaßen etwas verwirrt bin ;). Welche Datenbankzugriffsstrategie wäre für folgende Fragestellungen am besten?

    - Hauptsächlich schreibender Zugriff

    - Die Menge der zu schreibenden Daten (auch das Tabellenlayout der Tabelle, in die geschrieben wird) sind zur design time leider nicht bekannt und ergeben sich aus Benutzereingaben...

    - Möglichst Unterstützung für viele verschiedene Datenbanken (also z.B. Access und SQL Server) ohne jeweils eigenen Code.

     

    Viele Grüße und vielen Dank,

     

    Peter

     

    Donnerstag, 13. Mai 2010 07:17

Alle Antworten

  • Hi Peter,
    zuerst ist zu entscheiden, ob du verbunden oder getrennt arbeiten willst. "Verbunden" bedeutet, Verbindung zur Datenbank öffnen, schnell alles abarbeiten (wie im Stapel ohne Bedienereingriff) und sich dann wieder von der Datenbank trennen. "Getrennt" bedeutet, Daten in einen lokalen Puffer (Inline-Datenbank) laden, dann verarbeiten (z.B. in einem Grid durch den Bediener) und zum Schluss die Änderungen in die Datenbank schreiben.
     
    Die Menge der Daten ist von untergeordneter Bedeutung. Viel wichtiger ist die Bedientechnologie. Wie soll die Oberfläche aussehen und welche Tätigkeiten soll der Anwender ausführen. Daraus kann man dann ableiten, welche optimale Technologie für den Datenbankzugriff möglich werden kann.
     
    Unterstützung für möglichst viele Datenbanken ist die Suche nach der eierlegenden Wollmilchsau und praktisch aussichtslos, es sei, es gibt signifikante Einschränkungen auf bestimmte Datenbanken und ein Minimum an SQL Syntex. Optimal ist es, eine einheitliche Geschäftslogik zu programmieren und für jeden Datenbanktyp eine gesonderte Datenzugriffsschicht zu erstellen, die die Besonderheiten der jeweiligen Datenbank berücksichtigt (z.B. TOP für Access und LIMIT für Oracle), und, die über ein Interface an die Geschäftslogik gebunden ist. 
     
    --
    Viele Gruesse
     
    Peter
    Donnerstag, 13. Mai 2010 10:11