自定义代码适用于Visual Studio,但不适用于Report Server

时间:2013-04-25 16:49:12

标签: asp.net reporting-services ado.net reporting reportingservices-2005

我在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数据库,因为它返回数据库的结果,但是分析器没有显示任何发生的事情。这使我几乎不可能排除故障。

有什么想法吗?

0 个答案:

没有答案