SQLNCLI11提供程序SQL Server 2012不支持命令方言



我们使用的是经典的ASP和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)时,它抛出了错误

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

不得不查找这个,但有一段时间没有看到它。

ADODB.Command对象的Dialect属性具有以下描述

来自ADO API参考-方言属性
指示CommandTextCommandStream属性的方言。方言定义提供程序用于解析字符串或流的语法和一般规则

因此,Dialect是特定于某个提供程序的,现在您已经更改了该提供程序,该特定GUID引用不再支持Command Dialect,也就是说SQLNCLI11不会支持其他提供程序。

特定的Dialect

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

提供对使用SQLXMLOLEDB提供程序应用XSL转换的支持。

我怀疑SQL Server Native Client中是否有等效的设置,因为SQL Server 2012支持返回XML数据的FOR XML子句。

相关内容

  • 没有找到相关文章

最新更新