В чем разница между SQLNCLI и провайдером данных .NET Framework для SQL Server - PullRequest
2 голосов
/ 14 октября 2008

У меня есть приложение, использующее файл UDL, в котором в строке подключения указано «Provider = SQLNCLI.1», которое не работает на конкретной машине, поскольку sqlncli.dll не установлен.

Другое приложение .Net, где строка подключения находится в app.config и конкретно не показывает, что провайдер работает. В диалоговом окне «Изменить источник данных» в Visual Studio поставщик данных отображается как «Поставщик данных .NET Framework для SQL Server». Это приложение работает, даже если sqlncli.dll не установлен.

Почему? Каким провайдером он пользуется? Это как-то отступает к sqloledb.dll?

Ответы [ 2 ]

1 голос
/ 14 октября 2008

Собственный клиент SQL Server - это независимый API доступа к данным, который был представлен в SQL Server 2005.

Из MSDN

Это также обеспечивает новую функциональность сверх того, что поставляется Компоненты доступа к данным Windows (ЦАП Windows, ранее Microsoft Data Доступ к компонентам или MDAC). SQL Собственный клиент сервера может быть использован для создавать новые приложения или улучшать существующие приложения, которые должны использовать представленные функции в SQL Server 2005, например, несколько активные наборы результатов (MARS), пользовательские типы данных (UDT), запрос уведомления, изоляция снимков и Поддержка типов данных XML.

Подробнее об этом и его сравнении с MDAC / WDAC, который используется поставщиками ADO.Net SQL Server здесь .

0 голосов
/ 16 апреля 2019

В Microsoft Docs есть полезная статья на эту тему: Когда использовать собственный клиент SQL Server .

Цитировать:

Для новых приложений , если вы используете управляемый язык программирования, такой как Microsoft Visual C # или Visual Basic, и вам необходимо чтобы получить доступ к новым функциям в SQL Server, вы должны использовать. Framework Data Provider для SQL Server , который является частью .NET Framework .

Если вы разрабатываете приложение на основе COM и вам нужен доступ к новые функции, представленные в SQL Server, вы должны использовать SQL Server Родной Клиент. Если вам не нужен доступ к новым функциям SQL Сервер, вы можете продолжать использовать компоненты доступа к данным Windows (WDAC).

Для существующих приложений OLE DB и ODBC основной проблемой является нужен ли вам доступ к новым функциям SQL Server. Если у вас есть зрелое приложение, которое не нуждается в новых функциях SQL Сервер, вы можете продолжать использовать WDAC. Но если вам нужно получить доступ эти новые функции, такие как тип данных XML, вы должны использовать SQL Собственный клиент сервера.

Таким образом, поставщик данных .NET Framework для SQL Server является частью .NET, полностью отделенной от собственного клиента SQL Server. Используйте это для новой разработки. Вам нужно использовать собственный клиент SQL Server только для старых приложений, которые используют OLE DB или ODBC.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...