Announcement

Collapse
No announcement yet.

MS SQL Server 2005 - Treiber

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

  • MS SQL Server 2005 - Treiber

    Hallo!
    Ich will mit C# auf einen SQL Server 2005 zugreifen und will aus performanzgründen nicht OLE DB oder ODBC verwenden.
    Welchen native Treiber verwendet man denn da?

  • #2
    Da Du schon mit .NET arbeitest und den MSSQL nutzt => ADO.NET
    (Klassen System.Data.SqlClient)
    Olaf Helper

    <Blog> <Xing>
    * cogito ergo sum * errare humanum est * quote erat demonstrandum *
    Wenn ich denke, ist das ein Fehler und das beweise ich täglich

    Comment


    • #3
      Danke für deinen Beitrag!

      Ich hab mir grade mal bisschen was über ADO.NET durchgelesen.
      Wenn ich das richtig verstanden habe, kann ich damit auch versch. DBs ansprechen (also wie bei ODBC oder OLE DB).
      Mit dem Unterschied, dass er zum MS SQL Server eine direkte Verbindung aufbaut und andere DBs mit Hilfe von OLE DB anspricht.

      Ist das richtig so?

      Comment


      • #4
        Fast.
        Die Klassen aus dem Namespace "System.Data.SqlClient" (war von mir falsch formuliert) dienen auschließlich der Zusammenarbeit mit dem MSSQL Server.
        Z.B. mit der Klasse "System.Data.SqlClient.SqlConnection kann Du eine Connection aufbauen; dann kannst Du wie gehabt alle Datenbanken des SQL Server ansprechen (Rechte vorausgesetzt).

        Analog gibt es noch:
        System.Data.OracleClient: Nur für Oracle-DBs (=>Klasse "OracleConnection)
        System.Data.OleDb: Geht dann eben über das bekannte OleDB mit den Providerdaten (=> Klasse "OleDBConnection")
        System.Data.Odbc: Dito (=>Klasse "=> OdbcConnection")

        Alles recht einheitlich, aber speziallisiert.
        Olaf Helper

        <Blog> <Xing>
        * cogito ergo sum * errare humanum est * quote erat demonstrandum *
        Wenn ich denke, ist das ein Fehler und das beweise ich täglich

        Comment


        • #5
          Originally posted by Mephisto84 View Post
          Mit dem Unterschied, dass er zum MS SQL Server eine direkte Verbindung aufbaut und andere DBs mit Hilfe von OLE DB anspricht.
          Für jede aktuells DBMS wirdst du managed Provider finden um den unnötigen und fehlerträchtigen Umweg über OLE DB zu vermeiden. Den mitgelieferten managed Provider für Oracle von MS würde auch nicht trauen. MS wird hier mit sicherheit nicht alle Möglichkeiten von Oralce bieten und mit sicherheit nicht optimal Programmiert haben.

          Comment


          • #6
            Vielen Dank für eure Beiträge!

            Also sind in diesem Namespace standardmäßig Klassen für die Kommunikation zu Oracle und zu SQL Server sowie ODBC und OLE DB enthalten.
            Wenn ich jetzt also db2 ansprechen will müsste ich über ole gehen oder ich hole mir von extern nen weiteren managed Provider?

            Ich schreibe jetzt mein Programm und spreche MS SQL an. Nun fällt mir später ein, dass Oracle ist doch viel schöner ist. Dann habe ich kein Problem die Datenquelle zu tauschen, da ich ja weiterhin die selben Funktionen/die selbe Schnittstelle benutze, die nur intern die Daten anders verarbeitet.

            Ist das korrekt?


            Danke schonmal!
            Mephi

            Comment


            • #7
              Originally posted by Mephisto84 View Post
              ... Dann habe ich kein Problem die Datenquelle zu tauschen, da ich ja weiterhin die selben Funktionen/die selbe Schnittstelle benutze, die nur intern die Daten anders verarbeitet.
              Du hast Probleme da dies Schnittstelle dir die unterschiede auf SQL-Ebene nicht kapseln. hierfür brauchst du weitere Kapselungen wie NHibernate oder ein eigene Kapslung z.B. mit dem Bridge-Pattern.

              Comment


              • #8
                Ok, das Kapseln der SQL-Ebenen läuchtet mir ein....
                Aber der Rest meiner Aussage war richtig?

                Comment

                Working...
                X