RDL 报告未呈现

RDL Report not rendering

生成报告时出现此错误。

我在哪里可以设置我的 rdl 文件的连接?

AspNetCore.Reporting.LocalProcessingException: 处理本地报表时出错。;处理报表时出错。 数据集 'DataSet1' 的查询执行失败。 用户 '' 登录失败。 ---> AspNetCore.ReportingServices.ReportProcessing.ProcessingAbortedException: 报告处理期间发生错误。

这是我的代码。

         const int extension = 1;

         var path = Path.Combine(_webHostEnvironment.WebRootPath, "Reports", "test.rdl");
           
         var parameters = new Dictionary<string, string> { { "rp1", "Test Value to parameter" } };

         var localReport = new LocalReport(path);
            
         var result = localReport.Execute(RenderType.Pdf, extension, parameters);
            
         return File(result.MainStream, "application/pdf");```

  [1]: https://i.stack.imgur.com/XkwzU.jpg

像下面这样更改您的代码:-

 
private readonly IHostingEnvironment _webHostEnvironment;

public HomeController( IHostingEnvironment webHostEnvironment)
 {
           
            _webHostEnvironment = webHostEnvironment;
            System.Text.Encoding.RegisterProvider(System.Text.CodePagesEncodingProvider.Instance);

 }





public async Task<IActionResult> Print()
 {

 string mimetype = "";

 int extension = 1;
 
 var path = $"{this._webHostEnvironment.WebRootPath}\Reports\test.rdlc";
 Dictionary<string, string> parameters = new Dictionary<string, string>();
 parameters.Add("rp1", "Test Value to parameter");
           
 LocalReport localReport = new LocalReport(path);

 var result = localReport.Execute(RenderType.Pdf, extension, parameters, mimetype);
        
 return File(result.MainStream, "application/pdf"); 

}

此外,不要忘记根据需要安装一些 NuGet 包。

希望它能解决您的问题。有关更多详细信息和相关内容,您可以阅读这篇文章:-

http://blog.geveo.com/IntegratingRDLCReportsToNetCoreProjects

更新

App.config

<connectionStrings>
  <add 
    name="MyConnectionString" 
    connectionString="Data Source=DESKTOP-N41V6ER\SQLEXPRESS;Initial 
    Catalog=MyDatabase;User ID=userName;Password=password"
    providerName="System.Data.SqlClient"
  />
</connectionStrings>

用户 ID密码 表示使用 SQL 凭据,而不是 Windows,但仍然非常简单 -只需进入 SQL 服务器的安全部分并创建一个新登录名。给它一个用户名和密码,并赋予它访问你的数据库的权限。

再次更新(数据源连接)

现在 select 对象并单击下一步:-

下面是一个简单报告的设计,它允许在连接的数据库中显示(假设)产品数据。然后点击完成。

然后点击确定按钮:-

然后你会在数据集中找到你的数据库table:-

现在您可以拖放数据,将其显示在报告文件中的哪个位置。

................................................ ................................... ..................................................... .........

再次更新(数据库连接)

首先右击你的报告项目-=>添加=>新项目然后你会显示:-

上面将实体数据模型添加到 windows 表单 project.then 单击 Add。然后:-

上面,点击New Connection

上面,点击Continue

在上面,给出你的服务器名称。我的机器只安装了一台(SQL 服务器),我正在使用 . 和 select SQL 身份验证框中的服务器。

上面,然后点击Ok。你已经有了你想要的 select 数据库名称。

在上面,仔细输入您已经select输入的数据库名称。

上面,我 select 我的产品 table 因为我会展示它。然后点击 finish