none
No se puede abrir la conexión. RRS feed

  • Pregunta

  • Trabajo en una aplicación de escritorio Windows Forms, Crystal Report 8.5 y SQL Server 2014

    Para conectarme desde CR a mi base de datos es mediante ODBC lo raro es que tengo un reporte que solo utilizo una sola tabla y funciona bien a este si no le mando parámetros.

    Pero tengo un reporte en el cual traigo los datos para la factura en el cual uso varias tablas y a esa query le mando un parámetro.

    La consulta de la base de datos se realiza sin problemas es mas me trae los datos, para eso uso una lista fuertemente tipada, el problema radica al parecer cuando se va a mostrar el reporte, me refiero a la conexión del reporte por la siguiente imagen. 

    El código para llamar al reporte es el siguiente:

    private void MostrarReporte()
            {
                //ParameterField pf1 = new ParameterField();
                //ParameterFields pfs = new ParameterFields();
                //ParameterDiscreteValue pdv1 = new ParameterDiscreteValue();
    
                //pf1.Name = "comPagoId";
                //pdv1.Value = txtComprobantePagoId.Text.Trim();
                //pf1.CurrentValues.Add(pdv1);
                //pfs.Add(pf1);
    
                var filePath = @"D:\ReportesPrueba\Factura.rpt";
                _rptListaFactura.Load(filePath);
                var factura = _saReComprobantePago.ListarFactura(Convert.ToInt32(txtComprobantePagoId.Text));
                _rptListaFactura.SetDataSource(factura);
                var frm = new FrmReportes();
                //frm.CrystalReportViewer.ParameterFieldInfo = pfs;
                frm.CrystalReportViewer.ReportSource = _rptListaFactura;
                var cn = new ConnectionInfo()
                {
                    ServerName = ".",
                    DatabaseName = "Business",
                    UserID = "lima",
                    Password = "xxx",
                    Type = ConnectionInfoType.SQL
                };
                SetDbLogonForReport(cn, _rptListaFactura);
                frm.CrystalReportViewer.Refresh();
                frm.Show();
            }
    
    private void SetDbLogonForReport(ConnectionInfo connectionInfo, ReportDocument rptDocument)
            {
                Tables myTables = rptDocument.Database.Tables;
                foreach (CrystalDecisions.CrystalReports.Engine.Table myTable in myTables)
                {
                    TableLogOnInfo myTableLogonInfo = myTable.LogOnInfo;
                    myTableLogonInfo.ConnectionInfo = connectionInfo;
                    myTable.ApplyLogOnInfo(myTableLogonInfo);
                }
            }

    Uso la misma técnica para llamar a otro reporte la diferencia que el otro reporte solo es una tabla.

    Saludos!

    Pedro Ávila
    "El hombre sabio querrá estar siempre con quien sea mejor que él."
    Lima - Perú



    • Editado Pedro Ávila viernes, 16 de noviembre de 2018 13:04
    viernes, 16 de noviembre de 2018 12:59

Respuestas

  • Y realizando y a vista sql en tu bbdd y mapear con EF para ejecutarla? 

    Si se solucionó tu consulta no olvides marcar la respuesta. Si te ayudó, vótala como útil. Saludos

    • Marcado como respuesta Pedro Ávila lunes, 19 de noviembre de 2018 0:15
    domingo, 18 de noviembre de 2018 17:32

Todas las respuestas

  • Hola

    Haciendo una prueba con el mismo reporte pero sin agregarle los campos al reporte desde el diseñador de Crystal Report si me abre el reporte claro sin datos porque no le asigno nada, pero si le agrego un campo me sale error que les comento.

    ¿Alguna idea de como solucionarlo?


    Pedro Ávila
    "El hombre sabio querrá estar siempre con quien sea mejor que él."
    Lima - Perú

    viernes, 16 de noviembre de 2018 15:32
  • sustituye el archivo p2sodbc.dll ubicado en la carpeta c:\Windows subcarpeta Crystal por la versión más reciente ubicada en c:\Windows subcarpeta System32

    Si se solucionó tu consulta no olvides marcar la respuesta. Si te ayudó, vótala como útil. Saludos

    viernes, 16 de noviembre de 2018 16:10
  • Hola Sergio

    Estoy trabajando en un equipo de 64 bits Window 10 y en la ruta que me mencionas solo tengo estas dll


    Pedro Ávila
    "El hombre sabio querrá estar siempre con quien sea mejor que él."
    Lima - Perú

    viernes, 16 de noviembre de 2018 16:16
  • Ok. Mira si está en SysWoW64

    Si se solucionó tu consulta no olvides marcar la respuesta. Si te ayudó, vótala como útil. Saludos

    viernes, 16 de noviembre de 2018 16:19
  • Hola

    Logre encontrar el archivo en la carpeta Windows\SysWOW64 lo pegue donde me indicastes pero no funciona.


    Pedro Ávila
    "El hombre sabio querrá estar siempre con quien sea mejor que él."
    Lima - Perú

    viernes, 16 de noviembre de 2018 16:24
  • Reinicia el equipo para ver el cambio en el sistema. 

    Si se solucionó tu consulta no olvides marcar la respuesta. Si te ayudó, vótala como útil. Saludos

    viernes, 16 de noviembre de 2018 16:27
  • Otra pregunta... Y usar otra versión de CR? Sería factible? 

    Si se solucionó tu consulta no olvides marcar la respuesta. Si te ayudó, vótala como útil. Saludos

    viernes, 16 de noviembre de 2018 16:28
  • Si sería factible que versión me recomiendas?

    Pero que no sea la que viene integrada al Visual Studio ya que por cada modificación tendría que compilar?


    Pedro Ávila
    "El hombre sabio querrá estar siempre con quien sea mejor que él."
    Lima - Perú

    viernes, 16 de noviembre de 2018 16:37
  • Hola Sergio

    He reiniciado el sistema y sigue igual con el mismo error.

    ¿Alguna versión de CR que me recomiendes?


    Pedro Ávila
    "El hombre sabio querrá estar siempre con quien sea mejor que él."
    Lima - Perú

    viernes, 16 de noviembre de 2018 17:35
  • Hola:

    Mira el siguiente enlace

    https://social.msdn.microsoft.com/Forums/es-ES/386401e4-eed4-4c57-8fc5-62e71717cee4/como-evitar-que-se-muestre-la-ventana-emergente-del-logueo-en-el-crystal-report-cuando-no-usas?forum=vsrepcrystales

    Un saludo desde Bilbo

    Carlos

    domingo, 18 de noviembre de 2018 8:01
  • Y realizando y a vista sql en tu bbdd y mapear con EF para ejecutarla? 

    Si se solucionó tu consulta no olvides marcar la respuesta. Si te ayudó, vótala como útil. Saludos

    • Marcado como respuesta Pedro Ávila lunes, 19 de noviembre de 2018 0:15
    domingo, 18 de noviembre de 2018 17:32