Announcement

Collapse
No announcement yet.

Mit Provider=Microsoft.Jet.OLEDB.4.0; auf SQLServer zugreifen??

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

  • Mit Provider=Microsoft.Jet.OLEDB.4.0; auf SQLServer zugreifen??

    Hallo zusammen,

    mal wieder eine (wahrscheinlich blöde?) Frage:

    Meine Anwendung greift über den Microsoft.Jet.OLEDB.4.0-Provider im Moment noch auf eine Access-DB zu. Nun dachte ich gelernt bzw. verstanden zu haben daß ich über diesen Provider auch auf einen SQL-Server zugreifen könnte mittels der OleDb-Objekte und dazu lediglich den Connection-String anpassen müßte?

    Oder habe ich jetzt den totalen Blackout .. naja nach 8 Stunden heute wäre es kein Wunder ;-)

    Falls ich mich irre: gibt es einen Provider der auf beides zugreifen kann? Die SQL-Server-DB ist auch als ODBC-Quelle konfiguriert und zugänglich.

    Danke für Eure Hilfe

    Ich denke heute mach ich erstmal Schluß :-)

    Bye

  • #2
    Hallo,

    hinter der Microsoft JET Engine steckt "nur" ein OLE DB-Provider von vielen. Die anderen Provider werden sichtbar, wenn man im Windows-Explorer eine neue Datei mit der Endung <b>.udl</b> anlegt (Beispiel: <i>test.udl</i>) und dann einen Doppelklick darauf macht. Daraufhin erscheint ein Dialog, über den man alle Provider finden, auswählen und eine passende Verbindungszeichenfolge zur Datenbank generien lassen kann.

    &gt;..lediglich den Connection-String anpassen...

    Das stimmt auch - denn in der Verbindungszeichenfolge wird der zu verwendende OLE DB-Provider festgelegt. Das folgende Beispiel für die <b>OleDbConnection</b>-Eigenschaft <b>ConnectionString</b> demonstriert dies:

    a) Zugriff auf den MS SQL Server über OLE DB:
    <pre>
    "Provider=SQLOLEDB;Data Source=(local);Initial Catalog=Northwind;Trusted_Connection=Yes;"
    </pre>
    b) Zugriff auf MS ACESS über OLE DB: <br>
    <pre>
    "Provider=Microsoft.Jet.OLEDB.4.0;Password="""";Us er ID=Admin;Data Source=C:\Konfere" & _
    "nzen\FirstACCESS.mdb;Mode=Share Deny None;Extended Properties="""";Jet OLEDB:Syste" & _
    "m database="""";Jet OLEDB:Registry Path="""";Jet OLEDBatabase Password="""";Jet OLED" & _
    "B:Engine Type=5;Jet OLEDBatabase Locking Mode=1;Jet OLEDB:Global Partial Bulk " & _
    "Ops=2;Jet OLEDB:Global Bulk Transactions=1;Jet OLEDB:New Database Password="""";Je" & _
    "t OLEDB:Create System Database=False;Jet OLEDB:Encrypt Database=False;Jet OLEDB:" & _
    "Don't Copy Locale on Compact=False;Jet OLEDB:Compact Without Replica Repair=Fals" & _
    "e;Jet OLEDB:SFP=False"
    </pre&gt

    Comment


    • #3
      Guten Morgen,

      erstmal danke. Das zeigt mir das ich im Prinzip schon richtig liege - ist mir auch heute morgen noch immer nicht wirklich klar bin aber auch noch etwas müde ;-)

      Die Schwierigkeit liegt demnach darin einen gültigen Connection-String für die SQL-Server-DB zu finden. Bis jetzt gibt es immer eine Exception dass der Server nicht gefunden werden kann oder der Zugriff darauf nicht erlaubt ist.
      Die Verbindung über den Assistenten von Visual Studio klappt allerdings, jedoch ist dieser generierte Connection-String für meine Anwendung nicht brauchbar!? :-(

      Ich werd mich dem Problem gleich nochmal widmen und evtl noch detailierter meine ConnectionStrings und die Fehler posten

      Comment


      • #4
        Hallo,

        das mit der udl-Datei hat sehr gut funktioniert. Ich hatte nur den falschen Provider gewählt. Jetzt funktioniert es wie gewünscht :-)

        Dank

        Comment


        • #5
          Hallo,

          &gt;Die Verbindung über den Assistenten von Visual Studio klappt allerdings, <br>
          &gt;jedoch ist dieser generierte Connection-String für meine Anwendung nicht brauchbar!? :-(

          das liegt sicherlich darin, dass VS.NET die Komponenten der native .NET-Zugriffsklassen für den MS SQL Server verbaut hat, aber nicht den universellen OleDbDataAdapter

          Comment

          Working...
          X