Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/reporting-services/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reporting services Reporting Services 2008R2抛出“报告服务”;本机编译器错误[BC30494]行太长;_Reporting Services_Ssrs 2008 - Fatal编程技术网

Reporting services Reporting Services 2008R2抛出“报告服务”;本机编译器错误[BC30494]行太长;

Reporting services Reporting Services 2008R2抛出“报告服务”;本机编译器错误[BC30494]行太长;,reporting-services,ssrs-2008,Reporting Services,Ssrs 2008,当RS抛出此错误时,典型的场景似乎是特定数据区域上有太多的文本框;唯一已知的措施似乎是“缩小”文本框名称(即将TextBox345重命名为T345) 我的报告没有那么大(2500个Lookup()调用) 因此,我的猜测是,为Lookup()函数生成的VB代码非常冗长,因此打破了每个数据区域生成的VB代码块的64K限制 我能验证我的假设吗?有没有办法检查生成的VB代码 关于如何解决/回避这个问题,有什么建议吗?不用说,在我的案例中使用缩写名称并不能解决问题 反应迟钝,但为了子孙后代: 生成代码的.

当RS抛出此错误时,典型的场景似乎是特定数据区域上有太多的文本框;唯一已知的措施似乎是“缩小”文本框名称(即将TextBox345重命名为T345)

我的报告没有那么大(2500个Lookup()调用)

因此,我的猜测是,为Lookup()函数生成的VB代码非常冗长,因此打破了每个数据区域生成的VB代码块的64K限制

  • 我能验证我的假设吗?有没有办法检查生成的VB代码

  • 关于如何解决/回避这个问题,有什么建议吗?不用说,在我的案例中使用缩写名称并不能解决问题


  • 反应迟钝,但为了子孙后代:

  • 生成代码的.vb源文件暂时存在于磁盘上的目录
    C:\Users\{RS Service Account Name}\AppData\Local\Temp
    中。正如您所提到的,如果任何一行超过65535个字符,则编译将失败

  • Reporting Services 2012 SP2 CU5刚刚修复了此问题;知识库文章位于。不幸的是,主流对SQL2008R2的支持,因此不太可能对修复进行后端口。至于解决办法:

    • 尽可能将文本框名称缩短到绝对最小值(例如,使用所有可能的单字符名称,然后使用所有可能的双字符名称)
    • 尝试使用子报表拆分报表
    • 尝试重新处理数据集查询,以便减少Lookup()调用
  • An unexpected error occurred while compiling expressions. Native compiler return value: '[BC30494] Line is too long.'.