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
生成报告时出现此错误。
我在哪里可以设置我的 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