我正在使用水晶报告 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