Une erreur s'est produite lors de local de traitement de rapport - Windows en C# Forme VS2010
Je suis en train d'utiliser SQL Server Reporting Services en Mode Client, mais il se passe quelque chose de louche.
J'ai deux tables dans la base de données "IEPL_Attendance_DB":
Employé(Employé,EmployeeName) et EmployeeTimeIn(EID,Time_In,Date_Ref,StateFlag)
J'en veux pour preuve un rapport dans un Formulaire Windows(C# dans Visual Studio 2010). Le rapport devrait être le résultat de la requête suivante:
select e1.EID,e.EmployeeName,convert(varchar(5),SUM(e1.HoursConsumed)/3600)+':'+convert(varchar(5),SUM(e1.HoursConsumed)%3600/60)+':'+convert(varchar(5),(SUM(e1.HoursConsumed)%60)) as workingtime, CONVERT(VARCHAR(10),e1.Date_Ref,111) as Date_Ref
from Employee as e, EmployeeTimeIn as e1
where e.EmployeeID = e1.EID
group by e1.Date_Ref,e1.EID,e.EmployeeName;
J'ai trouvé cet article: http://arcanecode.com/2009/03/23/using-sql-server-reporting-services-in-client-mode/, ce qui explique étape par étape la procédure pour créer un rapport, mais quand je lance mon projet, je vois d'erreur suivant dans la fenêtre de rapport:
Une source de données d'instance n'a pas été fournies pour la source de données EmployeeAttendanceReport
Voici mon code:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
//Add these to the standard list above
using System.Data.Sql;
using System.Data.SqlClient;
using Microsoft.Reporting.WinForms;
namespace EmployeeManager
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
//this.reportViewer1.RefreshReport();
//Set the processing mode for the ReportViewer to Local
reportViewer1.ProcessingMode = ProcessingMode.Local;
LocalReport localReport = reportViewer1.LocalReport;
localReport.ReportPath = @"F:\Muhammad Anees\Time In\WpfApplication1\EmployeeManager\AttendanceReport.rdlc";
DataSet dataset = new DataSet("EmployeeAttendanceReport");
//Get the sales order data
GetCustomerOrders(ref dataset);
//Create a report data source for the sales order data
ReportDataSource dsCustomers = new ReportDataSource();
dsCustomers.Name = "EmployeeAttendanceReport_EmployeeAttendanceReport";
dsCustomers.Value = dataset.Tables["Employee"];
localReport.DataSources.Add(dsCustomers);
//Refresh the report
reportViewer1.RefreshReport();
}
private void GetCustomerOrders(ref DataSet dsNorthwind)
{
string sqlCustomerOrders = "SELECT e1.EID"
+ " ,e.EmployeeName"
+ " ,CONVERT(VARCHAR(10),e1.Date_Ref,111) as Date_Ref"
+ " ,convert(varchar(5),SUM(e1.HoursConsumed)/3600)+':'+convert(varchar(5),SUM(e1.HoursConsumed)%3600/60)+':'+convert(varchar(5),(SUM(e1.HoursConsumed)%60)) as workingtime"
+ " FROM Employee as e, EmployeeTimeIn as e1"
+ " WHERE e.EmployeeID=e1.EID"
+ " GROUP BY e1.Date_Ref,e1.EID,e.EmployeeName";
SqlConnection connection = new
SqlConnection("Data Source=AZEEMPC; " +
"Initial Catalog=IEPL_Attendance_DB; " +
"Trusted_Connection = true;");
SqlCommand command =
new SqlCommand(sqlCustomerOrders, connection);
SqlDataAdapter EmployeeAttendanceReportAdapter = new
SqlDataAdapter(command);
EmployeeAttendanceReportAdapter.Fill(dsNorthwind, "EmployeeAttendanceReport");
}
}
}
Notes:
1. Requête SQL fonctionne très bien et je peux voir le résultat de cette requête dans sql server management studio.
2. Voici les propriétés de l'ensemble de données:
Veuillez en informer!
Après la correction de nom de EmployeeAttendanceReport, j'ai des erreurs suivantes ont montré jusqu'à:<br/> "Une erreur s'est produite lors de local de traitement de rapport<br/> Une erreur s'est produite lors du traitement du rapport<br/> EmployeeAttendanceReport"
Pourriez-vous s'il vous plaît avoir un coup d'oeil à ma réponse sur Une erreur s'est produite lors du traitement du rapport. RLDC de déclaration en ASP.NET MVC?
OriginalL'auteur Azeem | 2012-02-15
Vous devez vous connecter pour publier un commentaire.
Je sais que c'est deux ans de retard mais j'espère que cela peut aider les autres
J'ai eu le même problème (Une erreur s'est produite lors de local de traitement de rapport. Une erreur s'est produite lors du traitement du rapport. DatasetName) et j'ai trouvé un problème avec la chaîne de connexion; j'ai eu à passer de l'utilisation de windows pour l'authentification sql, puis mon rapport travaillé.
Évidemment, le Rapport Nom de Source de Données doit correspondre avec le Nom que vous fournissez par le biais de la ReportDataSource objet comme Brian Knight a suggéré
M'a beaucoup aidé. Merci!
M'a beaucoup aidé. Merci @mascab
Merci! Je n'ai même pas "DatasetName", les deux premières lignes. Dans le cas où il aide à quelqu'un d'autre: mascab de l'erreur peut se produire en raison à la fois des sources de données partagées et sources de données partagées pour les ensembles de données partagées. Tirait mes cheveux jusqu'à ce que j'ai compris que la source partagée pour mon partagés ensembles a été cassé, en plus de la principale source partagée.
OriginalL'auteur mascab
Il semble que vous avez un décalage entre les données du rapport nom de la source et le nom que vous fournissez dans le
Name
propriété de votreReportDataSource
classe. Le rapport est attendu EmployeeAttendanceReport. Vous pouvez essayer de changer leName
paramètre de propriété dans votre code:Je crois que vous êtes en train de voir une erreur sur le rapport du côté serveur. Vérifiez les journaux de l'erreur réelle. Il pourrait y avoir un problème dans votre .rdl.
OriginalL'auteur Brian Knight