连接字符串USING Application Intent错误

时间:2014-01-17 16:05:26

标签: sql-server sql-server-2012 connection-string high-availability

尝试在this article之后创建针对SQL Server 2012高可用性组的“只读”意图连接字符串,我得到:

  

System.ArgumentException:不支持关键字:'application   意图'。在   System.Data.Common.DbConnectionOptions.ParseInternal(哈希表   parsetable,String connectionString,Boolean buildChain,Hashtable   同义词,布尔值firstKey)

这是在Windows 7 Pro计算机上,针对基于SQL Server 2012的高可用性组(已确认使用“-ReadOnly”参数)。

有两篇关于修补程序的MS KB文章介绍了“应用程序意图”,但它们适用于Framework版本3.54我没有为4.5找到任何东西,所以我认为包括支持4.5SQL Server Native Client都应支持开箱即用。

我们正在使用4.5。

这是连接字符串:

Data Source=HAListener;Initial Catalog=*********;User ID=************;Password=********; Application Intent=ReadOnly

有人遇到过这个错误吗?

解决 应用程序意图中不应有任何空格:

ApplicationIntent=ReadOnly

2 个答案:

答案 0 :(得分:8)

我想我会发布解决方案以防其他人遇到同样的问题:

Application和Intent之间没有空格。正确的参数是:

ApplicationIntent=ReadOnly

(参考:MSDN

答案 1 :(得分:1)

根据您使用的SNAC协议,应用程序意图连接字符串属性略有不同。

使用SQL Native Access Client SQL OLE DB时,应使用空格指定应用程序意图连接字符串:'Application Intent'

使用SQLClient或ODBC连接时,指定“ApplicationIntent”,没有空格