Announcement

Collapse
No announcement yet.

Access oder SQL

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Access oder SQL

    Hallo Zusammen,

    ich werde demnächst eine Anwendung schreiben, bei der Daten in einer VB.Net-Anwendung in einer Datenbank gespeichert werden soll. Das Progamm soll anfangs nur auf einem PC laufen. Evtl. soll es in Zukunft in einem ausländischen Werk auch im Einsatz sein.

    Jetzt stell ich mir die Frage, was für eine Datenbankanbindung ich verwenden soll. Reicht ACCESS aus oder ist eine SQL-Datenbank vorzuziehen... Fallen für eine SQL-Datenbank noch irgendwelche Lizenz-Gebühren an bzw. ist es viell. sogar auch möglich, via Internet auf eine SQL-Datenbank zuzugreifen.
    Sorry, für soviel unqualifizierte Fragen, aber viell. hat mir jemand ein paar Tips, die mir weiterhelfen können.

    Gruss und Danke
    Gogat

  • #2
    Access stößt relativ schnell an seine Grenzen wenn mehr als ein User darauf zugreift. Also lass es gleich bleiben. Zugriff über Internet (ohne tunneln oder gesicherte Verbindung) würde ich auch gleich wieder vergessen. Das Sicherheitsrisiko ist zu groß (SQLBlaster lässt grüßen). Lizenztechnisch bietet fast jeder Hersteller (MS, Oracle, ...) auch eine kostenlose "Kleinversion" an die für den Einstieg oft genügt. Besser ist es sein Programm so aufzusetzen das es mehrere DBMS unterstützt.

    Comment


    • #3
      Danke mal für deine Meinung.
      Ansich soll auch nur ein User auf die DaBa zugreifen, bzw. werden im Hintergrund Daten gespeichert und in einem anderen System weiterverarbeitet. Bei einer vergleichbaren (uralten) Anwendung war bisher eine ACCESS-Datenbank im Einsatz.

      In den meisten VB-Büchern wird meistens ADO.NET in Verbindung mit SQL erklärt. Gibts es zu ACCESS grosse Unterschiede?

      Comment


      • #4
        Hallo,

        Gibts es zu ACCESS grosse Unterschiede?
        im Prinzip ja, wobei es im konkreten Fall immer davon abhängt, wie viele Benutzer mit welcher Datenmenge arbeiten. Im Fall des lokalen Zugriffs durch einen Benutzer lassen sich die Unterschiede "zukitten" ;-)

        Hinter ACCESS verbirgt sich eine datensatzorientierte Datenbank, bei der die JET Engine die MDB-Datei lokal verarbeitet. Eine SQL-Datenbank arbeitet jedoch mengenorientiert (d.h. es gibt dort rein technisch gesehen keinen Datensatzzeiger). Während die JET Engine für den Zugriff auf eine ACCESS-Datenbank die Zugriffsprache SQL nur simuliert, ist SQL für eine SQL-Datenbank der native Zugriffsweg.

        Wenn nur eine Anwendung zur gleichen Zeit auf die Daten zugreifen muss, wäre die kostenfreie Microsoft SQL Server 2005 Compact Edition eine brauchbare Alternative. Das Programm bindet die Handvoll DLLs (ca. 1,8 MByte) direkt ein, so dass keine vorherige Installation notwendig ist. Und die Compact Edition unterstützt sowohl SQL als auch über die Updatable Result Sets einen serverseitigen Cursor, so dass auch das datensatzorientierte Verhalten einer ACCESS-Datenbank unterstützt wird.

        Wenn jedoch irgendwann einmal der Netzwerk-/Internet-Zugriff geplant ist, würde ich zur ebenfalls kostenfreien SQL Server 2005 Express Edition greifen. Das ist dann aber ein "waschechter" SQL-Server.
        Zuletzt editiert von Andreas Kosch; 03.07.2007, 17:47.

        Comment


        • #5
          Die Datenbank (ACCESS oder SQL oder wie auch immer) soll lediglich als Zwischenstation dienen. Die Daten werden dort "zwischengespeichert" und später in einem anderen System weiterverarbeitet. Zugriff ist geplant für lediglich einen User an genau einem Rechner, aber wer weiss, was die Zukunft mit sich bringt. Man weiss ja nie... und dann ist überlegenswert, ob man gleich auf SQL "umsteigt" oder die Gefahr eingeht, irgendwann mal alles dann von ACCESS auf SQL umzusteigen.

          Gibt es zum Zugriff auf eine ACCESS-Datenbank zufällig irgendwo nützliche Beispiele, Infos, Erklärungen etc...?

          Danke für die Unterstützung!!!

          Comment


          • #6
            Ist die Syntax beim Zugriff auf eine ACCESS-Datenbank gleich/ähnlich wie auf eine SQL-Datenbank? Gibts irgendwo nützliche Infos/Tutorials über die Syntax?

            Comment


            • #7
              Originally posted by Gogat View Post
              Ist die Syntax beim Zugriff auf eine ACCESS-Datenbank gleich/ähnlich wie auf eine SQL-Datenbank?
              Ähnlich ja - gleich nein. Die unterschiede liegen im Detail versteckt und Kosten 80% der Zeit.

              Comment


              • #8
                gibts dazu vielleicht noch irgendwo Infos etc...

                Comment


                • #9
                  Ein paar Unterschiede kannst du dir hier ansehen.

                  Ansonsten würde ich aus meiner eigenen Erfahrung bei Kleinprojekten zum SQL Server 2005 Express raten. Access sollte für solche Anwendungen ausgedient haben, zumal die Möglichkeiten begrenzt sind und es vor allem auch sehr schnell zu Problemen mit Access-"Datenbanken" kommen kann (siehe ständiges Repair etc.).

                  Auf Wunsch kann ich gerne weitere Gründe aufführen, warum Access hier nicht einzusetzen ist. Zudem muss ich mich einem der Vorredner anschließen: Es empfiehlt sich auf jeden Fall, unterschiedliche Datenbanken zu unterstützen. Gelöst werden kann dies über die DbProviderFactories.
                  .NET GUI - DIE Community für GUI-Entwickler

                  Living.NET - Blog :: Live Blog :: .NET Casts

                  Hol' dir jetzt dein kostenloses .NET BlogBook.

                  Comment


                  • #10
                    Es empfiehlt sich auf jeden Fall, unterschiedliche Datenbanken zu unterstützen. Gelöst werden kann dies über die DbProviderFactories.
                    Sorry, für die unqualifizierte Frage, aber diese Aussage kapier ich nicht ganz...

                    Comment


                    • #11
                      Macht nichts.

                      http://msdn2.microsoft.com/en-us/lib...factories.aspx
                      http://www.devx.com/dotnet/Article/27297/0/page/2

                      Sollte weiterhelfen um einen grundlegenden Überblick zu erhalten.
                      .NET GUI - DIE Community für GUI-Entwickler

                      Living.NET - Blog :: Live Blog :: .NET Casts

                      Hol' dir jetzt dein kostenloses .NET BlogBook.

                      Comment


                      • #12
                        Hallo,

                        der Vollständigkeit halber sollte noch erwähnt werden, dass es auch möglich ist Access als Frontend zu nutzen (adp-Projekt) und die Daten auf einem SQL-Server im Netzwerk zu speichern.
                        Ich habe hier in unserer Firma mehrere Frontends laufen die auf einen kostenlosen SQL-Server (MSDE2000) zugreifen. Das System läuft jetzt ca. 1,5 Jahre, noch nie gab es bezüglich Access und SQL-Server Probleme.

                        Die Access-Programmierung (Formulare) ist fast identisch wie bei einer MDB-Datei.

                        Micha

                        Comment


                        • #13
                          Ist das dann quasi ACCESS-VBA, oder?

                          Comment


                          • #14
                            Access-VBA ist es immer, egal ob mdb oder adp.

                            Die oberfläche sieht genauso aus wie beim 'normalen Access', Du kannst genauso Formulare etc. erstellen, nur die eigentliche Datenbank ist ein SQL-Server.
                            Wenn Du gewohnt bist, mit Access zu arbeiten, ist es keine allzugroße Umstellung bis auf die SQL-Spezifischen Sachen, aber damit müsstest Du dich auch beschäftigen, wenn wenn Du mit VB was machen willst.

                            Comment


                            • #15
                              Ok, wobei ich denke, dass es sinnvoller ist und evtl. auch zukunftsträchtiger sich mit VB zu beschäftigen, da es dort sicher auch mehr Möglichkeiten gibt als in ACCESS VBA. Gut, für kleinere Aufgaben dürfte es u.U. sinnvoll sein, aber bei mir wohl eher nicht, da sicher noch mehrere VB-Herausforderungen kommen werden...

                              Trotzdem vielen Dank für deinen Tipp.
                              Gogat

                              Comment

                              Working...
                              X