Estoy creando un informe simple usando un objeto .NET de mi proyecto como fuente de datos, usando el método SetDatasource()
. Sin embargo, cuando ejecuto el informe, aparece el error "Falló el inicio de sesión en la base de datos". Este informe no se conecta a un DB en absoluto. ¿Me he perdido algo aquí?¿Por qué me aparece el mensaje "Falló el inicio de sesión de la base de datos" en Crystal Reports al usar el objeto .NET como fuente de datos?
Muchas gracias, D.
añadido: supongo que probablemente ayudará si incluyo la acción del controlador. Es una prueba rápida y sucia, no lo que el método final se verá así:
public ActionResult StewardSheets(int showId, int groupId)
{
ReportClass rptH = new ReportClass();
rptH.FileName = DataHelper.getReportFilePath("Test.rpt",this);
NZDSDataContext dataContext = new NZDSDataContext();
var showDetails = (from s in dataContext.Shows
where s.ID == showId
select new StewardSheetModel
{
EventDate = s.EventDate.ToLongDateString(),
Region = s.Region.Name,
ShowTitle = s.Name
}).FirstOrDefault();
List<StewardSheetModel> details = new List<StewardSheetModel>();
details.Add(showDetails);
rptH.SetDataSource(details);
rptH.Load();
Stream stream = rptH.ExportToStream(CrystalDecisions.Shared.ExportFormatType.PortableDocFormat);
return File(stream, "application/pdf");
}
FIJO: D'oh! Usé ReportClass en lugar de ReportDocument. Cambió esa línea y también utiliza Refresh() ya que Load() no es un método válido. ¡Ahora funciona bien!
¿Cuáles son los parámetros de la fuente de datos? –
Aquí hay una captura de pantalla de la fuente de datos. Espero que esto sea lo que estás preguntando. http://img262.imageshack.us/img262/3615/crystalreport.png – codedog