2 Stimmen

Was ist der Unterschied zwischen SQLNCLI und .NET Framework Data Provider für SQL Server?

Ich habe eine Anwendung, die eine UDL-Datei verwendet, in der die Verbindungszeichenfolge "Provider=SQLNCLI.1" angibt, die auf einem bestimmten Rechner nicht funktioniert, weil sqlncli.dll nicht installiert ist.

Eine andere .Net-Anwendung, bei der die Verbindungszeichenfolge in der app.config steht und der Provider nicht explizit angezeigt wird, funktioniert jedoch. Der Dialog "Datenquelle ändern" in Visual Studio zeigt den Datenanbieter als ".NET Framework Data Provider for SQL Server" an. Diese Anwendung funktioniert, auch wenn sqlncli.dll nicht installiert ist.

Warum? Welchen Anbieter benutzt er? Greift er irgendwie auf sqloledb.dll zurück?

1voto

Sijin Punkte 4490

Der SQL Server Native Client ist eine unabhängige Datenzugriffs-API, die in SQL Server 2005 eingeführt wurde.

Von MSDN

Außerdem bietet es neue Funktionen die über die Funktionalität der Windows-Datenzugriffskomponenten (Windows DAC, früher Microsoft Data Access Components, oder MDAC). SQL Server Native Client kann verwendet werden, um neue Anwendungen zu erstellen oder bestehende Anwendungen, die die die Vorteile der neuen Funktionen in SQL Server 2005 eingeführten Funktionen nutzen müssen, wie aktive Ergebnismengen (MARS), benutzerdefinierte Datentypen (UDT), Abfrage Benachrichtigungen, Snapshot-Isolierung und Unterstützung von XML-Datentypen.

Lesen Sie mehr darüber und wie es im Vergleich zu MDAC/WDAC, das von den ADO.Net SQL Server-Anbietern verwendet wird, aussieht aquí .

0voto

Simon Tewsi Punkte 15527

In Microsoft Docs finden Sie einen nützlichen Artikel zu diesem Thema: Wann Sie den SQL Server Native Client verwenden sollten .

Um zu zitieren:

Für neue Anwendungen Wenn Sie eine verwaltete Programmiersprache wie Microsoft Visual C# oder Visual Basic verwenden, und Sie auf die neuen Funktionen in SQL Server zugreifen müssen, sollten Sie verwenden Sie den .NET Framework Data Provider für SQL Server das ist Teil des .NET Framework .

Wenn Sie eine COM-basierte Anwendung entwickeln und auf die neuen Funktionen von SQL Server zugreifen müssen, sollten Sie den SQL Server Native Client verwenden. Wenn Sie keinen Zugriff auf die neuen Features von SQL Server benötigen, können Sie weiterhin die Windows Data Access Components (WDAC) verwenden.

Für bestehende OLE DB- und ODBC-Anwendungen besteht das Hauptproblem darin ob Sie auf die neuen Funktionen von SQL Server zugreifen müssen. Wenn Sie eine eine ausgereifte Anwendung haben, die die neuen Funktionen von SQL Server nicht benötigt Server benötigen, können Sie weiterhin WDAC verwenden. Wenn Sie jedoch Zugriff auf diese neuen Features, wie z.B. den xml-Datentyp, sollten Sie den SQL Server Native Client verwenden.

Also die .NET Framework-Datenanbieter für SQL Server ist Teil von .NET, völlig getrennt vom SQL Server Native Client. Verwenden Sie ihn für die Neuentwicklung. Sie müssen den SQL Server Native Client nur für alte Anwendungen verwenden, die OLE DB oder ODBC nutzen.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X