我有两个负载均衡的SQL服务器 - AlwaysOn。只有这些服务器中的第二个应该用于水晶报告。我想用readOnly
标志在连接字符串中访问第二个SQL服务器:ApplicationIntent=ReadOnly
在AlwaysOn环境中设置Crystal Report的只读访问权限
在我的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
?不幸的是我还没有发现这个还没有,但悬而未决的问题的答案:
- https://archive.sap.com/discussions/thread/3861287
- https://archive.sap.com/discussions/thread/3791155
将'userID'的权限设置为只读在数据库服务器上怎么办? – dd4711