我有两个正在进行负载平衡的 SQL 服务器 - AlwaysOn。这些服务器中只有第二个应该用于 Crystal 报表。我想使用连接字符串中的 readOnly
标志访问第二个 SQL 服务器:ApplicationIntent=ReadOnly
在我的 C# 类中,我正在运行基于 ConnectionInfo()
var myConnectionInfo = new ConnectionInfo();
Tables myTables = reportDocument.Database.Tables;
for (int i = 0; i < myTables.Count; i++)
{
var myTable = myTables[i];
var myTableLogonInfo = myTable.LogOnInfo;
myConnectionInfo.ServerName = 'serverName';
myConnectionInfo.DatabaseName = 'databaseName';
myConnectionInfo.UserID = 'userId';
myConnectionInfo.Password = 'password';
myTableLogonInfo.ConnectionInfo = myConnectionInfo;
myTable.ApplyLogOnInfo(myTableLogonInfo);
}
虽然我还没有找到设置 ApplicationIntent=ReadOnly
的方法。这应该通过设置 myConnectionInfo.Attributes
来完成吗?不幸的是,我还没有找到这个问题的答案,但还有一些未回答的问题:
最佳答案
不幸的是,我没有找到在我发布的代码片段中使用标志 ApplicationIntent=ReadOnly
的方法。
我最后做了什么:
我没有使用负载平衡器 IP 地址(或主机名),而是直接使用报告服务器的 IP 地址。
我找不到任何关于是否可以使用 ApplicationIntent=ReadOnly
的书面文档。
关于c# - 在 AlwaysOn 环境下为 Crystal Report 设置只读权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45334028/