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

时间:2016-03-22 10:52:36

标签: vbscript asp-classic sql-server-2012 sqlncli sqloledb

我们使用的是经典ASP和SQL Server 2012标准版。

我们的连接字符串如下

float: left;

我们使用的是SQLOLEDB提供程序,它在我们的应用程序中运行良好。当我们尝试将提供程序更改为SQL Native客户端(SQLNCLI 11)时,它会抛出错误

  

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;

1 个答案:

答案 0 :(得分:0)

不得不看一下这段时间没见过它。

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

  

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

因此Dialect特定于提供程序,现在您已更改提供程序,该特定GUID引用不再支持Command Dialect,这并不是说SQLNCLI11将不支持其他提供程序。

具体Dialect

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

使用SQLXMLOLEDB提供程序为Applying an XSL Transformation提供支持。

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