1

我在 SSRS2005 中的报告中添加了一些自定义代码,这些代码在 BIDS2005 中完美运行,但在我部署到服务器时却没有。这是自定义代码:

Public Function GetUsers(ByVal param As Integer) As String
    Dim sqlCon As New System.Data.SqlClient.SqlConnection
    Dim cmd As New System.Data.SqlClient.SqlCommand
    Dim dRet As String
    Dim sCmdText As String

    sqlCon.ConnectionString = "data source=MYSERVER;initial catalog=MYDB;Integrated Security=true"

    cmd = New System.Data.SqlClient.SqlCommand
    sCmdText = "SELECT dbo.udf_MyFunction(" 
    'cmd.CommandType = CommandType.Text
    cmd.Connection = sqlCon
    cmd.CommandTimeout = 0

    sCmdText = sCmdText & param
    sCmdText = sCmdText & ")"

    cmd.CommandText = sCmdText
    If sqlCon.State <> System.Data.ConnectionState.Open Then
    sqlCon.Open()
    End If
    dRet = cmd.ExecuteScalar() & ""     
    sqlCon.Close()

    Return dRet

End Function

为了使用这段代码,我必须添加这个程序集:

System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089

当用户单击特定文本框时,报告中的一个值被传递给 SQL 函数,并且整数列表被返回给详细报告。在 BIDS 中,这每次都能完美运行。但是,我已将其部署在两个不同的报表服务器上,但它不起作用。详细报告打开,但没有通过。

令人沮丧的是,当我打开一个 SQL Server Profiler 跟踪并选择了几乎每个选项时,我什么也得不到。我知道代码正在访问我的 SQL 数据库,因为它从数据库返回结果,但探查器没有显示任何发生的事情。这使我几乎不可能进行故障排除。

有任何想法吗?

4

0 回答 0