【问题标题】:Does anyone know how to fix these ssrs script file errors?有谁知道如何修复这些 ssrs 脚本文件错误?
【发布时间】:2015-10-13 20:39:00
【问题描述】:

我从这里复制了 .rss 脚本文件的内容:https://technet.microsoft.com/en-us/library/aa225813(v=sql.80).aspx,我提取了一个示例 .rdl 文件并将其放在同一位置,并将“MyReport”的实例更改为 .rdl 文件名。

我现在收到以下错误:

指定的脚本编译失败,出现以下错误: C:\用户\xxxxx> "C:\Windows\Microsoft.NET\Framework\v2.0.50727\vbc.exe" /t:exe /main:MainModule /utf8output /R:"System.dll" /R:"System.Xml.dll" /R:"System.Web.Services.dll" /R:"C:\Program Files (x86)\Microsoft SQL 服务器\100\Tools\Binn\rs.exe" /out:"C:\Users\xxxxx\AppData\Local\Temp\4\ivfgtstk.exe" /debug- "C:\Users\xxxxx\AppData\Local\Temp\4\ivfgtstk.0.vb" "C:\Users\xxxxx\AppData\Local\Temp\4\ivfgtstk.1.vb"

Microsoft (R) Visual Basic 编译器版本 8.0.50727.5483 用于 Microsoft (R) .NET Framework 版本 2.0.50727.5485 版权所有 (c) 微软公司。保留所有权利。

C:\Users\xxxxx\AppData\Local\Temp\4\ivfgtstk.0.vb(49):错误 BC30456: “Main”不是“____ScriptClass”的成员。

        clientScript.Main()
        ~~~~~~~~~~~~~~~~~ C:\Users\xxxxx\AppData\Local\Temp\4\ivfgtstk.1.vb(14) : error BC30465:

'Imports' 语句必须在任何声明之前。

进口系统~~~~~~~ C:\Users\xxxxx\AppData\Local\Temp\4\ivfgtstk.1.vb(15):错误 BC30465: 'Imports' 语句必须在任何声明之前。

导入 System.IO ~~~~~~~ C:\Users\xxxxx\AppData\Local\Temp\4\ivfgtstk.1.vb(16):错误 BC30465: 'Imports' 语句必须在任何声明之前。

导入 System.Web.Services.Protocols ~~~~~~~ C:\Users\xxxxx\AppData\Local\Temp\4\ivfgtstk.1.vb(20):错误 BC30002: 未定义类型“ReportingService”。

    Dim rs As New ReportingService()
                  ~~~~~~~~~~~~~~~~

我的在线搜索没有得到答复(例如https://social.msdn.microsoft.com/Forums/sqlserver/en-US/ae90b9cb-f8a0-46a5-989f-aff4c5bc3190/script-runs-on-vbc-compiler-but-not-on-rs-utility?forum=sqlreportingservices)。

非常感谢您协助解决此问题。

【问题讨论】:

    标签: database vb.net reporting-services server rs.exe


    【解决方案1】:

    我认为您的第一个问题是您复制的脚本是针对 SQL Server 2000 的 Reporting Services 版本的,除非您实际使用的是 SQL Server 2000,否则您可能不应该提及它。

    其次,rs.exe 实用程序可以运行 Visual Basic 脚本,只要它们位于 specific format 中。您从 SQL Server 2000 页面复制的代码是开发应用程序时可能使用的 Visual Basic 代码示例,而不是脚本文件。例如,它包含 Import 语句,这些语句在 rs.exe 的脚本文件中是不允许的

    Visual Basic 脚本所需的基本格式是:

    Public Sub Main()
        ' Your code goes here.
    End Sub
    

    查看可以为 downloaded from Codeplex 的脚本示例,了解 Reporting Services 脚本的一些详细示例。

    【讨论】:

    • 我相信我们使用的是 SQL Server 2008。我取出导入并更改了 main() 声明。这消除了除错误 BC30002 之外的所有错误,我有一种下沉的感觉,Warning()、IOException、FileStream 和 SoapException 会重复出现。有什么想法吗?
    • 对迟到的响应表示歉意 - 错误“BC30002:未定义类型'ReportingService'。”似乎在您的代码中表明了一种类型 - 请注意“ReportingService”中的空格,这应该是“ReportingService”,否则它将无效。
    • @dabuda 如果你要使用任何框架提供的类型,你将不得不通过它们的完全限定名称来引用它们(除非你能找到另一个解决方法),因为不允许使用导入.例如,System.IO.IOException。例如,查看this sample 如何引用DefaultCredentials
    猜你喜欢
    • 2014-08-26
    • 1970-01-01
    • 1970-01-01
    • 2021-07-20
    • 2016-10-09
    • 2020-10-04
    • 1970-01-01
    • 2012-11-18
    • 1970-01-01
    相关资源
    最近更新 更多