Konzept zu Datenbank in visual studio c++(Standard)



  • Hallo alle zusammen,

    ich benutze für mein Projekt "Visual studio 2008 C++" + QT Plugin.
    Dazu möchte dieses Projekt um eine Datenbankanwendung erweitern.

    Folgende Probleme habe ich:

    1. Keine Erfahrung mit Datenbanken (deswegen mir fehlt das Konzept: Wie soll ich die Datenbank an das Projekt am besten designen?)
    2. Wie kann ich dieser Datenbankanwendung mit dem Projekt einbinden. Hier ist eine Frage der Sicherheit (bei Multithread ).
      Die Datenbank wird von mindesten 2 Benutzer gleichzeitig benutzt.

    Folgenden Idee habe ich :

    1)Datenbank (auf die C++ seite ) als Singleton zu designen:
    Gründe:
    Datenbank wird nur einmal initialisiert
    Beim Start direkt an das Projekt verbunden
    Global aufufbar

    1. Zugriffplayer Database Visual Studio 2008 C++(Standard)
      Wie geht es das?
      Geht es das überhaupt?

    Danke in voaus



  • Das hängt in erster Linie mal von dem Datenbanksystem ab, das du benutzen möchtest. Die "ausgewachsenen" DBMS wie MS SQL Server, mySQL, postgreSQL u.A. unterstützen von Hause aus Concurrency, da musst du dich selbst um nichts mehr kümmern. Bei Embedded DBMS wie z.B. SQLite wird´s schon etwas schwieriger, da bin ich mir nicht sicher, ob und wie Concurrency da umgesetzt wird.
    Der Zugriff auf die Datenbank selbst wird i.d.R. über einen von drei Mechanismen realisiert:

    1. ODBC (würde ich nicht empfehlen)
    2. DBMS-spezifische API. Normalerweise existiert für jedes halbwegs verbreitetes DBMS eine C-API, die du auch unter C++ benutzen kannst. Mit etwas Glück gibt es dafür sogar einen C++ Wrapper.
    3. es gibt möglicherweise eine Komponente im VS, die die Kommunikation für dich übernimmt. Bei MS SQL Server stehen die Chancen recht gut, bei anderen DBMS vielleicht nicht.

    Ob man jetzt Methode 2) oder 3) benutzt ist eine Frage des persönlichen Geschmacks. Mit 3) kommt man schnell an Ergbnisse, mit 2) ist man flexibler.



  • Bei MySQL immer vorsichtig sein. Ich bin da nicht sicher, ob das immer kostenlos ist, oder nur für GPL oder nicht kommerzielle Nutzung. PostgreSQL ist auf jeden Fall kostenlos voll nutzbar. Naja und sich freiwillig von MS abhängig machen würde ich vermeiden, wenn es denn geht.


Log in to reply