SoloCodigo
Bases de Datos => Crystal Reports => Mensaje iniciado por: fefer en Martes 4 de Septiembre de 2007, 17:35
-
Hola
Por favor me podrían ayudar tengo un problema con una aplicación que maneja reportes hechos en crystal report 9.0.
La aplicación esta desarrollada en visual basic 6.0 con sql server ,, yo estoy llamando a los reportes vía código enviando la cadena de conexión del servidor donde esta la base y si me funcionan bien, sin embargo cuando yo cambio la aplicación a otro servidor y ejecuto los reportes me sale el mensaje que no se puede abrir la conexión o que el servidor de la BDD no esta disponible, lo que me toca hacer es volver a abrir los reportes en crystal report 9 y con la opción refrescar cambiar el nombre del servidor de base de datos pero esto no me parece bien pue yo estoy enviando la cadena de conexión vía código :blink:
Por fa si pueden ayudarme con algún manual de crystal report 9 o indicarme porque se puede estar dando este problema :(
Gracias
-
Fefer, creo que el problema viene en que crystal cuando trabaja conexiones por código tiene independencia entre la conexion que le des al runtime para ejecutar el reporte y la conexión que cada una de las tablas del reporte tiene.
Parece una locura pero a mi me funcionó cuando cargué (gracias a un aporte de este foro!!) la conexión a cada una de las tablas.
C#
//instancia del runtime
CRAXDRT.ApplicationClass app = new CRAXDRT.ApplicationClass();
//objeto del reporte
CRAXDRT.ReportClass reporte = new CRAXDRT.ReportClass();
//cargo el reporte en el objeto reporte
reporte = (CRAXDRT.ReportClass) app.OpenReport("C:\\ReporteTecsis.rpt", 0);
//asigno al runtime por medio de la aplicación del reporte la conexion que necesito
reporte.Application.LogOnServer("p2ssql.dll", server, data, usuario, pwd);
//"p2ssql.dll" es la dll que llamo para atender el servido de MS-SQLSERVER
//a cada tabla le asigno la misma conexion
for (int i = 0; i < reporte.Database.Tables.Count; i++)
reporte.Database.Tables[i+1].SetLogOnInfo(server, data, usuario, pwd);
Espero que te ayude. Saludos!!