Ver Mensaje Individual
  #7 (permalink)  
Antiguo 29/09/2015, 13:59
antvo
 
Fecha de Ingreso: junio-2012
Mensajes: 233
Antigüedad: 12 años, 6 meses
Puntos: 3
Exclamación Respuesta: Crystal repor 13 error c#

Cita:
Iniciado por Gerard93 Ver Mensaje
Hola antvo

¿como hago eso?
Pues bien el GAC es la cachè global de ensamblados (Global assembly cache por sus siglas en ingles)del Sistema operativo, en el se instalan ensamblados (bibliotecas dll) que seran compartidas por varias aplicaciones, asi las app pueden buscar ahi las bibliotecas de las cuales necesitan alguna funcion.

¿cuando se instalan en c?
El GAC es del sistema operativo y las dll se instalan con paquetes redistribuibles, creo que visual studio instala el paquete de crystal en su instalacion

suponiendo que no instale el paquete de redistribución del crystal?
Creo que puedes copiar las dll que usaras atraves de la consola "cmd", accedes al GAC con la ruta que te dije y las copias ahi hay un comando para copiarlas pero ahorita no lo recuerdo

Te comparto un link https://msdn.microsoft.com/es-es/lib...vs.110%29.aspx

Me alegra mucho que te haya funcionado
Gracias!!!, fíjate que me funciono y luego ya no, esto de luego ya no fue a causa de que modifique el procedimiento almacenado para incluir mas campos y una imagen(como bits) que le mando al crystal como parámetro adicional con estas modificaciones me funciona correctamente en mi equipo de desarrollo
pero al pasarlo a producción no me funciona me aparece error de "Database logon failed".



Aquí el detalle del error :

Código C:
Ver original
  1. Server Error in '/' Application.
  2.  
  3. Database logon failed.
  4.  
  5. Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
  6.  
  7. Exception Details: System.Runtime.InteropServices.COMException: Database logon failed.
  8.  
  9. Source Error:
  10.  
  11. An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.
  12.  
  13. Stack Trace:
  14.  
  15.  
  16. [COMException (0x8004100f): Database logon failed.]
  17.    CrystalDecisions.ReportAppServer.Controllers.ReportSourceClass.Export(ExportOptions pExportOptions, RequestContext pRequestContext) +0
  18.    CrystalDecisions.ReportSource.EromReportSourceBase.ExportToStream(ExportRequestContext reqContext) +381
  19.  
  20. [LogOnException: Database logon failed.]
  21.    CrystalDecisions.ReportAppServer.ConvertDotNetToErom.ThrowDotNetException(Exception e) +863
  22.    CrystalDecisions.ReportSource.EromReportSourceBase.ExportToStream(ExportRequestContext reqContext) +512
  23.    CrystalDecisions.CrystalReports.Engine.FormatEngine.ExportToStream(ExportRequestContext reqContext) +779
  24.    CrystalDecisions.CrystalReports.Engine.FormatEngine.Export(ExportRequestContext reqContext) +180
  25.    CrystalDecisions.CrystalReports.Engine.ReportDocument.ExportToDisk(ExportFormatType formatType, String fileName) +336



En cuanto al código c# del desarrollo tengo lo siguiente. es una descarga del reporte mediante pdf el cual llama a crystal report y se le mandan parámetros para que crystal llame a un procedimiento almacenado y aparte le mando una imagen en bits a crystal para que lo muestre en el reporte(esto funciona bien localmente pero no en el server windows 2008 64bits, mi equipo es de 32 bits y lo cambio a que compile para 64 bits):



Código C:
Ver original
  1. ReportDocument crystalReport = new ReportDocument();
  2. string c = System.AppDomain.CurrentDomain.BaseDirectory.ToString() +"Sitio\\Reportes\\ResumenNomina.rpt";
  3.   string imgfirma = System.AppDomain.CurrentDomain.BaseDirectory.ToString() + "Recursos\\Imagenes\\FotosEmpleados\\FirmaJose.png";
  4.              
  5.   crystalReport.Load(c);
  6.  
  7.   crystalReport.SetParameterValue("@img", imgfirma);
  8.                 crystalReport.SetParameterValue("@Semana", Convert.ToInt32(rcbSemanaFiltro.SelectedValue));
  9.                 crystalReport.SetParameterValue("@TipoNominaID", "1");
  10.                 crystalReport.SetParameterValue("@Tipo", "ResumenRpt");
  11.  
  12.  
  13.  crystalReport.ExportToDisk(CrystalDecisions.Shared.ExportFormatType.PortableDocFormat, @"C:\Resumennomina.pdf");
  14.                    
  15.                     crystalReport.Close();



Del código anterior también probé agregándole la conexión a la base de datos pero tampoco, los datos de la conexione están bien por que lo uso en toda la aplicación solo que explicitamente no lo meto en las lineas anteriores pero probé agregándolas para no descartar pero aun así marca lo mismo cuando lo pongo en el servidor, también modifique el archivo del reporte de crystal en propiedades colocándole que Build Action =Content y Copy to output=Copy Always, agregue en el server en la carpeta Temp de Windows permiso de lectura y escritura para el pool que usa la aplicación de iis del usuario y ni así.


También probé cambiando la siguiente linea:

Código C:
Ver original
  1. crystalReport.ExportToDisk(CrystalDecisions.Shared.ExportFormatType.PortableDocFormat, @"C:\Resumennomina.pdf");

por esta otra:

Código C:
Ver original
  1. crystalReport.ExportToHttpResponse(CrystalDecisions.Shared.ExportFormatType.PortableDocFormat, Response, true, "ResumenNomina");

y tampoco me funciono en el server pero localmente si,


alguna idea, estoy desesperado :(.


Gracias

Última edición por antvo; 29/09/2015 a las 14:02 Razón: tags