【问题标题】:RDLC: An error occurred during local report processingRDLC:本地报告处理过程中发生错误
【发布时间】:2013-07-02 00:46:22
【问题描述】:

我在文件服务器中上传应用程序时遇到问题,

如果我运行包含在我的 Web 应用程序中的报告,就会出现问题:

本地报告处理过程中出错。 报告“App_Reports\sampleReport.rdlc”的定义无效。 编译表达式时发生意外错误。本机编译器返回值:'[BC2001] 文件 'C:\Windows\TEMP\oxdarnay.0.vb' 找不到'。

当我在 RDLC 的表中包含这个表达式时出现问题

=(Fields!Field1.Value + Fields!Field2.Value) - Fields!Field2.Value

当我不包含该表达式时,报告可以正常工作,没有错误。

当我在我的计算机上本地运行它时,包括那个表达式,没有问题,这可能是什么问题?文件服务器中的IIS是否配置不正确?

【问题讨论】:

  • 为什么要加减Fields!Field2.Value? Fields1 或 Fields2 可以是 NULL 还是字母数字?
  • 不,它不是空值或字母数字,计算是为了会计目的..
  • 如果简化表达式并仅使用会发生什么:=Fields!Field1.Value
  • 这是报告中唯一的表达方式吗?如果是的话,也许我找到了使用谷歌的解决方案......

标签: asp.net vb.net rdlc


【解决方案1】:

您必须将 AppPool 帐户更改为对 TEMP 目录具有写入权限的用户。

链接:ASP.NET ReportViewer Native compiler return value: ‘[BC2001] file’ error

【讨论】:

    【解决方案2】:

    我在 Visual Studio 2013 中尝试了以下解决方案,并且成功了,

    1. 转到 IIS->应用程序池。
    2. 选择发布网站的应用程序池。
    3. 右击进入高级设置->流程模型->身份->点击侧边按钮。
    4. 选择内置账户->选择LocalSystem->确定->确定。
    5. 刷新应用程序池。
    6. 完成。

    【讨论】:

      【解决方案3】:

      解决方案:

      1. 转到 IIS
      2. 验证您的项目在哪个应用程序池上 running。
      3. 我的应用程序使用网络服务。
      4. 所以,现在转到文件夹C:\Windows\
      5. 右键点击“Temp”Folder。
      6. 提供权限将修复它。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-05-12
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多