可以使用哪些语言在sql server报告中添加自定义代码?

时间:2013-03-18 14:22:22

标签: java sql-server reporting-services

我有一些sql server报告 - .rdl文件,我想在其中添加自定义代码来进行一些时区转换。经过一些谷歌搜索,我发现我可以在Visual Basic中编写自定义代码。是否有任何其他语言支持编写自定义代码?喜欢java?

我不知道VB在VB中编写代码。报告中的自定义代码是否支持java?

1 个答案:

答案 0 :(得分:3)

你的问题很容易在没有VB.Net :)的情况下解决,你可以使用这个函数进行转换(它会将没有时区(+00)的时间转换为id给定的时区):

Shared Function ConvertServerTimeNow(ByVal systemDate As Date, ByVal timeZoneId As String, Optional ByVal daylightSavingsTime As Boolean = False) As Date
        Dim timeZoneInfo As TimeZoneInfo
        If timeZoneId Is Nothing Then
            Return systemDate
        Else
            timeZoneInfo = timeZoneInfo.FindSystemTimeZoneById(timeZoneId)
            If daylightSavingsTime = False Then
                timeZoneInfo = timeZoneInfo.CreateCustomTimeZone(timeZoneInfo.Id, timeZoneInfo.BaseUtcOffset, timeZoneInfo.DisplayName, timeZoneInfo.StandardName, timeZoneInfo.DaylightName, Nothing, True)
            End If
        End If
        Return (timeZoneInfo.ConvertTime(systemDate, timeZoneInfo))
End Function

关于TimeZoneID列表,您可以参考以下答案:https://stackoverflow.com/a/7908482/1048105

关于其他语言: 您可以通过添加自定义程序集来使用.NET平台中的任何语言,但是您无法使用VB.NET中的其他语言在rdl中完全编写代码。关于您可以在此处阅读http://support.microsoft.com/kb/920769的自定义程序集,但是很难部署它,我不建议您在不需要的情况下执行此操作。