Ver Mensaje Individual
  #3 (permalink)  
Antiguo 09/03/2007, 09:03
jovapa
 
Fecha de Ingreso: agosto-2006
Mensajes: 19
Antigüedad: 18 años, 3 meses
Puntos: 0
Re: enlazar crystal reports

Hola dannyjsm.
Ante todo muchas gracias por responder y darme tu opinión.

No sé si entendí bien tu respuesta....
Cuando utilizo un dataset para aportar los datos al informe....no tengo ningún problema. La cadena de conexión a la base de datos suelo guardarla en un archivo de configuración (fácilmente accesible de la forma: Properties.Settings.Default.CadenaBDD, por ejemplo) y que sería muy parecido a lo que me dices.

Tampoco tengo problemas al usar informes no incrustados, a los que les paso un dataset con los datos que me conviese y cargo (load) el form con el CrystalReportViewer pasándole la ruta del informe 'externo'.

El problema lo tengo si no quiero usar los datasets.
Imagina que a un proyecto le agregas un elemento nuevo, un reporte de crystal (.rpt) y empiezas a diseñarlo (modo diseño). Usando el asistente de conexión puedes seleccionar el orígen de datos, sea un dataset o sea una nueva conexión. Es al hacerlo de esta última forma cuando el informe almacena una ruta absoluta que posteriormente (cuando quiero depurar o ejecutar el exe) me dará problemas por el hecho de ser una ruta absoluta (meto el exe en otro PC y no encontrará la bdd). Es ahí cuando supongo que el método SetDatabaseLogon() (de la clase ReportDocument) (creo que hay otro método si no se utiliza ReportDocument, pero no recuerdo ya que no estoy en mi PC, en estos momentos) debería permitir pasar al informe (a una instancia del mismo) una nueva ruta, nuevo servidor, pass, user,...

De hecho....cuando lo hago, no salta ninguna excepción al depurar....pero salta una ventana preguntando el server, ruta, user y pass......como si los datos suministrados en el SetDatabaseLogon(), no se tuviesen en cuenta.

Un saludo y gracias nuevamente por tu respuesta.