我正在使用水晶报表 9.2.0.448。我在我的机器上创建了 50 多个水晶报表。并将数据库位置设置为local_sql_server_name.database_name。现在,我想在我的客户机器上安装所有报告。所以肯定的是,sql server 名称被改变了。所以我必须手动设置所有水晶报表的数据库位置。所以我想知道有没有办法自动更改数据库位置?
我还尝试了通用数据链接 (.udl)文件。我从该文件设置数据库位置。但是如果我修改 .udl 文件,那么它不会影响到水晶报告。
我正在使用水晶报表 9.2.0.448。我在我的机器上创建了 50 多个水晶报表。并将数据库位置设置为local_sql_server_name.database_name。现在,我想在我的客户机器上安装所有报告。所以肯定的是,sql server 名称被改变了。所以我必须手动设置所有水晶报表的数据库位置。所以我想知道有没有办法自动更改数据库位置?
我还尝试了通用数据链接 (.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