【发布时间】:2021-08-25 19:57:22
【问题描述】:
我有一个将数据存储到 SQL 数据库的 VB.NET 解决方案。我已经写了几份 SSRS 报告中的第一份。现在我想从我的 VB.NET 解决方案生成报告。
我有一个将生成报告的子程序,
Public Shared Sub GenerateReport(ByVal RptName As String, ByVal ParamArray Params() As Object)
Dim strPath As String = sqlSSRS + Replace(RptName, " ", "%20")
Dim _class As cParameters
'strPath += "&rc:Parameters=false&rs:Command=Render"
'strPath += "&rs:Command=Render"
For i As Integer = 0 To UBound(Params)
_class = DirectCast(Params(i), cParameters)
strPath += "&" & _class.ParamName & "=" & _class.Value
Next
System.Diagnostics.Process.Start(strPath)
End Sub
如果我生成没有参数的路径,报告将在默认浏览器中打开。所以这行得通...
http://sqlServerName:80/Reports/report/ToolCrib/Toolbox%20by%20Installer
但这都不是……
http://sqlServerName:80/Reports/report/ToolCrib/Toolbox%20by%20Installer&@UserID=7&@ProjectID=20026&@ToolboxID=10&@ToolStatus=2
or this
http://sqlServerName:80/Reports/report/ToolCrib/Toolbox%20by%20Installer&UserID=7&ProjectID=20026&ToolboxID=10&ToolStatus=2
确实。
我显然在传递参数时遇到问题。在一种情况下我不需要它们,但在其他情况下我想提供它们,这就是我使用可选参数数组编写 GenerateReport 例程的原因。这是我从过去的经验中得到的错误消息,当 MS 不“知道”如何对 SSRS 错误进行分类时,我知道这有点笼统。
项目 '/ToolCrib/Toolbox by Installer&UserID=7&ProjectID=20026&ToolboxID=10&ToolStatus=2' 的路径无效。完整路径的长度必须少于 260 个字符;其他限制适用。如果报表服务器处于本机模式,则路径必须以斜杠开头。 (rsInvalidItemPath)
任何帮助将不胜感激。
【问题讨论】: