Problema al generar CrystalReport y Microsoft SQL Server Compact 3.5

Unanswered Problema al generar CrystalReport y Microsoft SQL Server Compact 3.5

  • sábado, 03 de marzo de 2012 0:10
     
      Tiene código

    Hola amigos, espero puedan ayudarme, he estado leyendo mucho sobre este tema pero aun no encuentro la solución. El problema es que al tratar de visualizar mi CR me solicita un usuario y password, pero mi base de datos es una .sdf y pues la trabajo directamente desde visual Studio 2010. he visto en algunos foros que solucionan este problema con la siguiente linea de codigo:

    cryRpt.SetDatabaseLogon("user", "pass");

    pero mi BD no tiene autenticación así que no tengo idea de que mas hacer. genero el crystal  report .rpt desde una dataset tipado, no me arroja ningún error pero me solicita el user y pass, espero me puedan ayudar.

    Aquí un fragmento de como estoy llamando al Crystal ( uso el Net Framework 4.0 para que el Crystal Report Viewer se pueda ver en el Cuadro de herramientas )

                              
    ReportDocument cryRpt = new ReportDocument();
                
    ryRpt.Load("C:/Users/Proyectos/Documents/Visual Studio 2010/Projects/OBRAS/OBRAS/Reportegastos.rpt");
    //cryRpt.SetDatabaseLogon("", "");
    crystalReportViewer1.ReportSource = cryRpt;
    crystalReportViewer1.Refresh();

    este código va dentro de un evento clic de un botón. espero puedan echarme una mano.. espero sus respuestas desde ya muchas gracias

Todas las respuestas

  • sábado, 03 de marzo de 2012 1:12
     
      Tiene código

    Realiza algo como esto

    CrystalDecisions.CrystalReports.Engine.ReportDocument report = new CrystalDecisions.CrystalReports.Engine.ReportDocument();
    
                string serverName1 = "Server1";
                string userID = "MyUserID";
                string password = "MyPassword";
                report.Load(@"C:\My Crystal Reports\Report Name.rpt");
    
                //Set Database Logon to main report
                foreach (CrystalDecisions.Shared.IConnectionInfo connection in report.DataSourceConnections)
                {
                    if (connection.ServerName == serverName1)
                    {
                        connection.SetLogon(userID, password);
                    }
                }
    
                //Set Database Logon to subreport
                foreach (CrystalDecisions.CrystalReports.Engine.ReportDocument subreport in report.Subreports)
                {
                    foreach (CrystalDecisions.Shared.IConnectionInfo connection in subreport.DataSourceConnections)
                    {
                        if (connection.ServerName == serverName1)
                        {
                            connection.SetLogon(userID, password);
                        }
                    }
                }

    Controlar Autentificación Crystal Reports


    Angel R. Jimenez G.
    Software Development
    Santo Domingo
    Republica Dominicana
    Blog

  • sábado, 03 de marzo de 2012 1:22
    Moderador
     
     

    no conectes directamente el reporte a la base de datos, menos aun Crystal es para problemas

    carga un dataset tipado con los datos de una query que quieras representar en el reprote

    y asignma estos al .rpt es la forma en que menos problemas tendras

    Informes Crystal Reports

    Creación de Reportes con Crystal Reports en Visual Studio 2005/2008

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

  • domingo, 04 de marzo de 2012 20:45
     
     

    Hola amigos gracias por responder tan pronto... pero haber creo que no me deje entender bien... esto es lo que he hecho:

    • Primero: cree mi Base de Datos desde el Visual Estudio profesional 2010 con Microsoft SQL Server Compact 3.5
    • Segundo: cree un dataset con la consulta que quiero mostrar
    • Tercero: cree mi reporte.rpt con su diseñador y a este lo enlace con mi dataset
    • Cuarto: estoy llamando a este reporte desde un CrystalReportViewer como lo indicaba mas arriba pero es ahy donde me pide el usuario y pass

    La verdad es que recién estoy empezando a usar crystal report ojala me puedan hechar la mano, muchas gracias de antemano


  • lunes, 05 de marzo de 2012 2:28
    Moderador
     
     

    pero entonces no estas conectando el reporte al dataset tipado, porque si le asignas en el SetDataSource()

    no deberia pedir usuario y password

    de casualidad antes habias conectado el reporte rpt a una db directamente y despues lo cambiaste? porque puede que queda la info de conexion

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

  • lunes, 05 de marzo de 2012 14:18
     
     

    Hola Leandro, gracias por tu interés... nunca conecte el rpt a un bd directamente... lo conecte desde el asistente como indicas en el link  http://www.codeproject.com/Articles/12694/Creating-Crystal-Reports-using-C-with-Datasets

    la cuestión es el como lo llamo, creo que no lo tengo muy claro, si pudieras darme un ejemplo de como hacerlo te estaría agradecido

    Saludos y gracias 

     
  • lunes, 05 de marzo de 2012 15:25
     
      Tiene código

    Hola muchachos.. ya logre que me deje de pedir el user y pass: lo conseguí de la siguiente manera

    Para que se ejecute de manera correcta solo tenemos que configurar el App.Config, agregando esta línea.

    <startup useLegacyV2RuntimeActivationPolicy="true">
    <supportedRuntime version="v4.0"/>
    </startup>
     
     //Y comentando  la línea
    
    <!–<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/></startup>–>

    Pero ahora tengo otro problema :S, el reporte solo me muestra las columnas y no los datos.. por favor si alguien me da un ejemplo de como generarlo bien.. muchas gracias

  • martes, 06 de marzo de 2012 21:18
     
     

    Hola amigos alguien me puede hechar la mano????

    Saludos

  • viernes, 09 de marzo de 2012 14:01
     
     
    Dale gente alguien que me ayude....
  • sábado, 10 de marzo de 2012 23:09
     
     

    Tengo el mismo problema que tu, yo uso visual studio 2010.

    Mi BBDD es access 2010 (requisitos del cliente) y no tengo problema para hacer reports si los conecto directamente a la BBDD pero cuando quiero usar cualquier dataset, al principio me pedia usuario y contraseña, pero hice el cambio que decias y ya no me lo pide, pero exactamente igual que a ti solo me muestra el nombre de los campos pero no los datos.

    EStoy pegandome con ello, si encuentro la solución la pondre.

    Por cierto gracias por la solución a lo de usuario y contraseña :)

    Half.

  • martes, 13 de marzo de 2012 16:40
     
     

    Lo consegui!!!!

    Esto es lo que yo he usado en el evento click del boton que muestra el listado.

    Dim listado As New list_altasporaño()
                    Dim listinfo As SummaryInfo
                    Dim myreport As ReportDocument
                    myreport = New list_altasporaño()
                    listinfo = listado.SummaryInfo
                    form_listados.Socios1TableAdapter1.Fillañoalta(form_listados.Socios_finalDataSet.socios1, año)
                    myreport.Load("N:\desarrollo gsp\GSP-TdS\GSP-TdS\list_altasporaño.rpt")
                    myreport.SetDataSource(CType(form_listados.Socios_finalDataSet.socios1, DataTable))
                    form_listados.CrystalReportViewer1.ReportSource = myreport
                    form_listados.CrystalReportViewer1.RefreshReport()
                    form_listados.CrystalReportViewer1.Zoom(2)

    Con eso he conseguido que me muestre los datos.

    Espero que te sirva de ayuda.

    Half.

  • miércoles, 14 de marzo de 2012 23:09
     
     

    Que bueno que lo hayas solucionado... pero yo aun no puedo con mi problema, interpretando tu código he tratado de adaptar el mio, estoy utilizando Visual C# y no se como asignar el SetDataSource. si encuentras algo hechame la mano que te estaré muy agradecido

    Saludos