2016-03-22 2 views
0

Мы используем классическую стандартную версию ASP и SQL Server 2012.Командный диалект не поддерживается провайдером SQLNCLI11 SQL Server 2012

Наша строка соединения, как показано ниже

provider=SQLNCLI11;Data Source=xxx; MultiSubnetFailover=True; Initial Catalog=xxx; User ID = xxx; Password =xxxxxx; DataTypeCompatibility=80; Integrated Security=SSPI; MARS Connection=true; 

Мы использовали поставщик SQLOLEDB и работают нормально в нашем приложении. Когда мы пытались изменить провайдера SQL Native клиента (SQLNCLI 11) было бросание ошибки

Command говор не поддерживается SQLNCLI11 поставщика SQL Server 2012

на строку ниже

set ocmd = server.CreateObject("ADODB.Command") 'created command object 
oCmd.Dialect = "{5D531CB2-E6Ed-11D2-B252-00C04F681B71}" ' assigned dialect 
oCmd.Execute , , 1024  'Error line 
+0

Удивленный, как мало в Интернете об этой проблеме. – Lankymart

ответ

0

Пришлось посмотреть, что это не видно на какое-то время.

Dialect свойство объекта имеет ADODB.Command это описание

От ADO API Reference - Dialect Property
Указывает диалект CommandText или CommandStream свойств. Диалект определяет синтаксис и общие правила, которые провайдер использует для анализа строки или потока.

Так Dialect специфичен к провайдеру, что теперь вы изменили поставщик командного Диалект не больше поддерживается для этой конкретной ссылки GUID, то есть нельзя сказать, что SQLNCLI11 не будет поддерживать другие.

Конкретное Dialect

{5D531CB2-E6Ed-11D2-B252-00C04F681B71} 

Обеспечивает поддержку Applying an XSL Transformation с провайдером SQLXMLOLEDB.

Я сомневаюсь, что в собственном клиенте SQL Server существует эквивалентная настройка, потому что SQL Server 2012 поддерживает предложение FOR XML для возврата данных XML.

 Смежные вопросы

  • Нет связанных вопросов^_^