尝试针对 SQL Server 2012 高可用性组创建“只读”意图连接字符串,按照本文,我得到:
System.ArgumentException:不支持关键字:'application 意图'。 在 System.Data.Common.DbConnectionOptions.ParseInternal(哈希表 可解析、字符串连接字符串、布尔构建链、哈希表 同义词,布尔值firstKey)
这是在 Windows 7 Pro 计算机上,与基于 SQL Server 2012 的高可用性组(已被确认可与“-ReadOnly”参数配合使用)对抗。
有两篇关于修补程序的 MS 知识库文章介绍了“应用程序意图”,但它们适用于框架版本 3.5 和 4。 我没有找到 4.5 的任何内容,所以我假设包含支持。 4.5 和 SQL Server Native Client 都应该开箱即用地支持它。
我们正在使用4.5。
这是连接字符串:
Data Source=HAListener;Initial Catalog=*********;User ID=************;Password=********; Application Intent=ReadOnly
有人遇到过这个错误吗?
已解决 应用程序意图中不应有任何空格:
ApplicationIntent=ReadOnly
根据您使用的 SNAC 协议,应用程序意图连接字符串属性略有不同。
使用 SQL Native Access Client SQL OLE DB 时,应使用空格指定应用程序意图连接字符串:'Application Intent'
使用 SQLClient 或 ODBC 连接时指定“ApplicationIntent”,不带空格
对于 DBeaver 用户:
连接设置 -> 驱动程序属性 -> 高级驱动程序属性(底部) ApplicationIntent=只读