更改多个晶体报表的数据库位置



我正在使用水晶报告 9.2.0.448。我已经在我的机器中创建了50 +水晶报告。并将数据库位置设置为 local_sql_server_name.database_name。现在,我想在客户端的计算机上安装所有报表。因此,SQL 服务器名称肯定会更改。所以我必须手动设置所有水晶报告的数据库位置。所以我想知道有没有办法自动更改数据库位置?

我还尝试了通用数据链接(.udl(文件。我从该文件设置了数据库位置。但是如果我修改.udl文件,那么它不会影响水晶报告。

Private Sub RecurseAndRemap(ByVal CR As Engine.ReportDocument)
        For Each DSC As CrystalDecisions.Shared.IConnectionInfo In CR.DataSourceConnections
            DSC.SetLogon("YourUserName", "YourPassword")
            DSC.SetConnection("YouServerName", "YourDatabaseName", False)
        Next
        CR.SetDatabaseLogon("YourUserName", "YourPassword")
        For Each Table As Engine.Table In CR.Database.Tables
            Table.LogOnInfo.ConnectionInfo.UserID = "YourUserName"
            Table.LogOnInfo.ConnectionInfo.Password = "YourPassword"
        Next
        If Not CR.IsSubreport Then
            For Each SR As Engine.ReportDocument In CR.Subreports
                RecurseAndRemap(SR)
            Next
        End If
    End Sub

最新更新