none
Crystal Reports: No es posible Conectar. Intentelo de Nuevo RRS feed

  • Pregunta

  • Saludos a todos, se me ha presentado el siguiente problema:

    y le trato de dar solución con lo siguiente:

    oRep.SetDatabaseLogon("sa", "password1", "SERVER1\\SQLEXPRESS", "basedatos");
    

    pero no pasa nada cuando le doy en finalizar, simplemente me manda:

    y de ahi no pasa.

    - primero me mandaba error para visualizar el reporte, asi que instale "CRRedist2008_x86"

    -despues me marcaba que no encontraba la ruta y lei que debia de tener la misma ruta del .rpt en el cliente como en el servidor, asi que cree C:/Reporte/archivo_repot.rpt en los dos, despues de esto me manda la ventana de logueo y de ahi no pasa no se como solucionarlo, les ha pasado algo similar??, espero me hechen la mano con esto, saludos, por cierto he publicado mi proyecto en IIS, este error sale de lado del cliente :S


    elbarto

    jueves, 5 de diciembre de 2013 4:17

Respuestas

Todas las respuestas

  • hola

    el reporte lo conectas directo a la base de datos ?

    evalua

    Agregar el código de conexión del informe 

    como veras la coenxion se la debes asignar a cada tabla que participe en el reporte

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    • Marcado como respuesta Omar Ortiz jueves, 5 de diciembre de 2013 15:54
    jueves, 5 de diciembre de 2013 11:10
  • no entiendo a que te refieres directo, lo cargo en el "form_load" 

    elbarto

    jueves, 5 de diciembre de 2013 18:58
  • hola

    el reporte lo conectas directo a la base de datos ?

    evalua

    Agregar el código de conexión del informe 

    como veras la coenxion se la debes asignar a cada tabla que participe en el reporte

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    Que tal, aun no soluciono mi problema y ya se dio como respuesta esto, disculpa he checado el enlace :D , me sigue mostrando el mismo problema amigo lo curioso es que ahora si me muestra la base de datos mira:

    pero de ahi no pasa y el codigo que utilizo es el sigguiente:

     private void visor_Load(object sender, EventArgs e)
            {
    EditarOrden pasar = new EditarOrden();
                ReportDocument oRep = new ReportDocument();
                ParameterField Pf = new ParameterField();
                ParameterFields Pfs = new ParameterFields();
                ParameterDiscreteValue Pdv = new ParameterDiscreteValue();
                Pf.Name = "@foliOs";
                Pdv.Value = textBox1.Text;
                Pf.CurrentValues.Add(Pdv);
                Pfs.Add(Pf);
                crystalReportViewer1.ParameterFieldInfo = Pfs;
                oRep.Load("C:/Reporte/CrystalReport3.rpt");
                crystalReportViewer1.ReportSource = oRep;
                configurarCrystalReports();
                        }
    
            private void configurarCrystalReports()
            {
                ConnectionInfo myconnectioninfo = new ConnectionInfo();
                myconnectioninfo.DatabaseName = "OS";
                myconnectioninfo.ServerName = "SERVER1\\SQLEXPRESS";
                myconnectioninfo.UserID = "sa";
                myconnectioninfo.Password = "*********";
                setDBLOGONforREPORT(myconnectioninfo);
                //myConnectionInfo.IntegratedSecurity = true;
            }
    
            private void setDBLOGONforREPORT(ConnectionInfo myconnectioninfo)
            {
                TableLogOnInfos mytableloginfos = crystalReportViewer1.LogOnInfo; 
                foreach (TableLogOnInfo myTableLogOnInfo in mytableloginfos) 
                {
                    myTableLogOnInfo.ConnectionInfo = myconnectioninfo; 
                }
                
            }

    ese es mi codigo, no se que pueda ser :S tambien quisiera saber como hacerle para que no tenga que copiar el .rpt del lado del cliente :S 


    elbarto

    viernes, 6 de diciembre de 2013 18:24
  • Mira si utilizas C# este es el codigo que utilizo para mandar a llamar a un reporte y enviarle los datos de conexion y parametros, espero te sirva.

    //creas el reportDocument

    CrystalDecisions.CrystalReports.Engine.ReportDocument cryRpt = new CrystalDecisions.CrystalReports.Engine.ReportDocument();

    /*Luego cargas la ruta donde se ubica el reporte y los datos de la conexion a la DB.

                   cryRpt.Load(@"C:\AquariuSoftERP\Modulos\Reportes\Reporte.rpt");
                    cryRpt.SetDatabaseLogon("sa", "Pass", "Servidor", "DataBase");
    /*Los parametros los envias de la siguiente forma, el primer valor que pide la Funcion es el nombre del parametro del Reporte y el segundo el valor que le asignas.*/
                    cryRpt.SetParameterValue("Cod_Empleado", "Em1");
                    cryRpt.SetParameterValue("FechaInicio", FechaInicio);
                    cryRpt.SetParameterValue("FechaFin", fechaFin);

    //Finalmente cargas el reporte al CrystalReportViewer.

                   crystalReportViewer1.ReportSource = cryRpt;

    viernes, 6 de diciembre de 2013 23:35
  • Mira si utilizas C# este es el codigo que utilizo para mandar a llamar a un reporte y enviarle los datos de conexion y parametros, espero te sirva.

    //creas el reportDocument

    CrystalDecisions.CrystalReports.Engine.ReportDocument cryRpt = new CrystalDecisions.CrystalReports.Engine.ReportDocument();

    /*Luego cargas la ruta donde se ubica el reporte y los datos de la conexion a la DB.

                   cryRpt.Load(@"C:\AquariuSoftERP\Modulos\Reportes\Reporte.rpt");
                    cryRpt.SetDatabaseLogon("sa", "Pass", "Servidor", "DataBase");
    /*Los parametros los envias de la siguiente forma, el primer valor que pide la Funcion es el nombre del parametro del Reporte y el segundo el valor que le asignas.*/
                    cryRpt.SetParameterValue("Cod_Empleado", "Em1");
                    cryRpt.SetParameterValue("FechaInicio", FechaInicio);
                    cryRpt.SetParameterValue("FechaFin", fechaFin);

    //Finalmente cargas el reporte al CrystalReportViewer.

                   crystalReportViewer1.ReportSource = cryRpt;

    lo haces desde otra pc?

    elbarto

    sábado, 7 de diciembre de 2013 0:06
  • Mira si utilizas C# este es el codigo que utilizo para mandar a llamar a un reporte y enviarle los datos de conexion y parametros, espero te sirva.

    //creas el reportDocument

    CrystalDecisions.CrystalReports.Engine.ReportDocument cryRpt = new CrystalDecisions.CrystalReports.Engine.ReportDocument();

    /*Luego cargas la ruta donde se ubica el reporte y los datos de la conexion a la DB.

                   cryRpt.Load(@"C:\AquariuSoftERP\Modulos\Reportes\Reporte.rpt");
                    cryRpt.SetDatabaseLogon("sa", "Pass", "Servidor", "DataBase");
    /*Los parametros los envias de la siguiente forma, el primer valor que pide la Funcion es el nombre del parametro del Reporte y el segundo el valor que le asignas.*/
                    cryRpt.SetParameterValue("Cod_Empleado", "Em1");
                    cryRpt.SetParameterValue("FechaInicio", FechaInicio);
                    cryRpt.SetParameterValue("FechaFin", fechaFin);

    //Finalmente cargas el reporte al CrystalReportViewer.

                   crystalReportViewer1.ReportSource = cryRpt;


    no me funciono me sigue mostrando la misma venta :S ya no se que pueda ser!!

    elbarto

    lunes, 9 de diciembre de 2013 19:33
  • Mira si utilizas un servidor remoto lo que podrias poder seria el nombre del servidor, a mi me sucedio algo parecido, el problema era que le estaba enviando los parametros de conexion en un lugar que lo realizaba 2 veces por lo que al hacer el load el reporte envia los paramentros la primera vez sin problemas, pero la segundo vez perdia el enlace y pedia los parametros. prueba colocando

    cryRpt.SetDatabaseLogon("sa", "Pass", "Servidor", "DataBase");

    despues de asignale los parametros.

    lunes, 9 de diciembre de 2013 22:10
  • Mira si utilizas C# este es el codigo que utilizo para mandar a llamar a un reporte y enviarle los datos de conexion y parametros, espero te sirva.

    //creas el reportDocument

    CrystalDecisions.CrystalReports.Engine.ReportDocument cryRpt = new CrystalDecisions.CrystalReports.Engine.ReportDocument();

    /*Luego cargas la ruta donde se ubica el reporte y los datos de la conexion a la DB.

                   cryRpt.Load(@"C:\AquariuSoftERP\Modulos\Reportes\Reporte.rpt");
                    cryRpt.SetDatabaseLogon("sa", "Pass", "Servidor", "DataBase");
    /*Los parametros los envias de la siguiente forma, el primer valor que pide la Funcion es el nombre del parametro del Reporte y el segundo el valor que le asignas.*/
                    cryRpt.SetParameterValue("Cod_Empleado", "Em1");
                    cryRpt.SetParameterValue("FechaInicio", FechaInicio);
                    cryRpt.SetParameterValue("FechaFin", fechaFin);

    //Finalmente cargas el reporte al CrystalReportViewer.

                   crystalReportViewer1.ReportSource = cryRpt;


    no me funciono me sigue mostrando la misma venta :S ya no se que pueda ser!!

    elbarto

    Solucionaste tu problema? Si lo hiciste por favor quisiera que me dijeras como lo hicste. Te lo agradeceria bastante.
    miércoles, 27 de agosto de 2014 22:24
  • si si lo solucione amigo te ayudo:

    namespace Orden
    {
        public partial class visor : Form
        {
            public visor()
            {
    
                InitializeComponent();
            }
    
    
    
     //creamos una nueva instancia del reporte de Crystal
            cr3 Reporte = new cr3();
     //creamos una nueva instancia del DataSet
            report ds = new report();
    //creamos una nueva instancia del table adapter que usaremos para obtener la información de la base de datos
            //dsEjemploTableAdapters.ObtenerEmpleadosTableAdapter dt = new dsEjemploTableAdapters.ObtenerEmpleadosTableAdapter();
            reportTableAdapters.REPORTEFOLIOTableAdapter dt = new reportTableAdapters.REPORTEFOLIOTableAdapter();
            //creamos una instancia del objeto sqlconnection para establecer la conexión a la base de datos, utilizando la cadena de //conexión que se creo cuando creamos el tableadapter
             //SqlConnection _SqlConnection = new SqlConnection(EjemploCrystalReports.Properties.Settings.Default.MyDBConnectionString);
            //SqlConnection conexion = new SqlConnection(OrdenS.Properties.Settings.Default.pruebareporte);
    
            SqlConnection conexion = new SqlConnection("Data Source=xxx.xxx.xxx.xxx,1433;Initial Catalog=OS;User ID=sa;Password=***********");
                    private void CargarReporte()
                    {
                        try
                        {
                            conexion.Open();
    
                            //le pasamos la conexión al tableadapter
                            dt.Connection = conexion;
                            //llenamos el tableadapter con el método fill
                            dt.Fill(ds.REPORTEFOLIO,Convert.ToInt32(textBox1.Text));
                            //asignamos los datos al reporte a través del metodo SetDataSource()
                            Reporte.SetDataSource(ds);
                            //asignamos el reporte de crystal al reportviewer
                            crystalReportViewer1.ReportSource = Reporte;
                            // y por ultimo mostramos el reporte
                            crystalReportViewer1.Show();
    
                        }
                        catch (System.Exception ex)
                        {
                            MessageBox.Show(ex.Message);
                        }
    
                    }
                    
            
            
            
     private void visor_Load(object sender, EventArgs e)
            {
                CargarReporte();
            }
    como veras utilizo un dataset y en la cadena de conexion ocupo mi ip publica! espero haberte ayudado, saludos


    elbarto

    • Propuesto como respuesta conocuica miércoles, 24 de julio de 2019 13:13
    • Votado como útil conocuica miércoles, 24 de julio de 2019 13:13
    miércoles, 27 de agosto de 2014 22:37
  • Hola Estimado,

    Este tema podría ser DRIVER de conexión tienes que validar que driver usar y en el mismo cliente usarlo. No es problema de código no desgastes esfuerzos.

    Revisa lo siguiente:

    • La versión del CrystalReport 64 bit instala la de 32 y viceversa.
    • La versión del CrystalReport con el driver que es compatible está en la documentación de CrystalReport.
    • La versión del CrystalReport tiene que ser la correcta para VS está en la documentación de CrystalReport.

    Conocuica

    miércoles, 24 de julio de 2019 13:18