c# - 在 AlwaysOn 环境下为 Crystal Report 设置只读权限

标签 c# crystal-reports

我有两个正在进行负载平衡的 SQL 服务器 - AlwaysOn。这些服务器中只有第二个应该用于 Crystal 报表。我想使用连接字符串中的 readOnly 标志访问第二个 SQL 服务器:ApplicationIntent=ReadOnly

在我的 C# 类中,我正在运行基于 ConnectionInfo()

的 Crystal 报表
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/

相关文章:

c# - 尝试使用 VB6 Form 调用 OLEDB 提供程序时应用程序消失

c# - 以编程方式将 C# 变量传递给 Crystal Reports

crystal-reports - 如何在 Crystal Report 公式中插入回车符?

c# - 方法的优先顺序?

c# - 更改数据库位置会删除所有者模式

c# - 如何查看在asp.net应用程序中引发的原始错误

c# - [40m[32minfo[39m[22m[49m 在 DotNetCore 日志上意味着什么

oracle - 连接到Oracle 11g数据库时,Crystal Reports无法找到监听器(ORA-12541)

c# - 将 RenderTargetBitmap 转换为 System.Drawing.Image

c# - C# 中的正则表达式组