连接字符串使用应用程序意图错误

问题描述 投票:0回答:3

尝试针对 SQL Server 2012 高可用性组创建“只读”意图连接字符串,按照本文,我得到:

System.ArgumentException:不支持关键字:'application 意图'。 在 System.Data.Common.DbConnectionOptions.ParseInternal(哈希表 可解析、字符串连接字符串、布尔构建链、哈希表 同义词,布尔值firstKey)

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

有两篇关于修补程序的 MS 知识库文章介绍了“应用程序意图”,但它们适用于框架版本 3.54我没有找到 4.5 的任何内容,所以我假设包含支持4.5SQL Server Native Client 都应该开箱即用地支持它。

我们正在使用4.5。

这是连接字符串:

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

有人遇到过这个错误吗?

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

ApplicationIntent=ReadOnly
sql-server sql-server-2012 connection-string high-availability
3个回答
9
投票

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

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

ApplicationIntent=ReadOnly

(参考:MSDN


1
投票

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

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

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


0
投票

对于 DBeaver 用户:

连接设置 -> 驱动程序属性 -> 高级驱动程序属性(底部) ApplicationIntent=只读

https://stackoverflow.com/a/79155142/4107038

© www.soinside.com 2019 - 2024. All rights reserved.