Ayuda Urgente !!!

16/09/2005 - 21:15 por Boom | Informe spam
Hola, quisiera me ayuden a solucionar 2 inconvenientes que tengo:

1) Tengo un sistema web con C#, el cual usa el Crystal Reports de .NET
VS2003, el asunto es que cuando hago mi maquina de desarrollo tengo que
establecer la ubicación de la conexión a la base de datos en SQL Server(Que
es ta en mi maquina loca), pero hay veces que me piden cambios a tal o cual
reporte entonces tengo que estar cambiando la ubicación del servidor con la
base de desarrollo, en fin existe alguna manera mediante código decir con que
base voy a trabajar.

2) Como uso Crystal Reports , a este le exporto a PDF para poder imprimir y
todo eso, el problema es que una vez que llamo al reporte y este exporta a
PDF y luego cierro este, el proceso del Acrobat Reader queda arriba, existe
alguna manera de solucionar esto o como puedo mediante codigo matar el
proceso de Acrobat Reader.

Muchas gracias

Preguntas similare

Leer las respuestas

#1 Pablo M
16/09/2005 - 22:55 | Informe spam
Bendito sea el gratuito SQL Reporting services, que nos va a librar de esta
pesadilla


He tenido los dos problemas, pero sólo me acuerdo de la solución del
primero.

Esquematicamente:
- abres el report en un objeto ReportDocument (si ya lo conoces pues con su
clase y si lo cargas dinamicamente con el load)
- defines el objeto ConnectionInfo con las credenciales de conexión al
origen de datos
- recorres las tablas del documento.Database y A CADA UNA DE ELLAS le
asignas el ConnectionInfo y resto de propiedades que hayan cambiado.


Yo encontré ejemplos en la web de business objects, si no te aclaras mira
allí

Un saludo


"Boom" escribió en el mensaje
news:
Hola, quisiera me ayuden a solucionar 2 inconvenientes que tengo:

1) Tengo un sistema web con C#, el cual usa el Crystal Reports de .NET
VS2003, el asunto es que cuando hago mi maquina de desarrollo tengo que
establecer la ubicación de la conexión a la base de datos en SQL
Server(Que
es ta en mi maquina loca), pero hay veces que me piden cambios a tal o
cual
reporte entonces tengo que estar cambiando la ubicación del servidor con
la
base de desarrollo, en fin existe alguna manera mediante código decir con
que
base voy a trabajar.

2) Como uso Crystal Reports , a este le exporto a PDF para poder imprimir
y
todo eso, el problema es que una vez que llamo al reporte y este exporta a
PDF y luego cierro este, el proceso del Acrobat Reader queda arriba,
existe
alguna manera de solucionar esto o como puedo mediante codigo matar el
proceso de Acrobat Reader.

Muchas gracias
Respuesta Responder a este mensaje
#2 Octavio Hernandez
17/09/2005 - 20:34 | Informe spam
Hola,

1) Tengo un sistema web con C#, el cual usa el Crystal Reports de .NET
VS2003, el asunto es que cuando hago mi maquina de desarrollo tengo que
establecer la ubicación de la conexión a la base de datos en SQL Server(Que
es ta en mi maquina loca), pero hay veces que me piden cambios a tal o cual
reporte entonces tengo que estar cambiando la ubicación del servidor con la
base de desarrollo, en fin existe alguna manera mediante código decir con
que
base voy a trabajar.

Lo correcto es crear una sección de configuración de aplicación
(appSettings) en Web.config, y ahí indicar datos como el nombre del
servidor, base datos, usuario y contraseña. Cuando tengas que cambiar de
servidor , etc. solo tienes que cambiar ahí, sin necesidad de recompilar la
aplicación.

En la aplicación, utiliza la clase ConfigurationSettings para leer esos
valores, y llama al método ReportDocument.SetDatabaseLogon() para pasárselos
a Crystal Reports. Te aseguro que todo eso funciona perfectamente.

2) Como uso Crystal Reports , a este le exporto a PDF para poder imprimir y
todo eso, el problema es que una vez que llamo al reporte y este exporta a
PDF y luego cierro este, el proceso del Acrobat Reader queda arriba, existe
alguna manera de solucionar esto o como puedo mediante codigo matar el
proceso de Acrobat Reader.

El Acrobat Reader se lanza en el navegador del CLIENTE, no en el servidor.
No tienes control alguno de ese proceso (ni falta que te hace) desde el
servidor. Por si te vale, yo utilizo el siguiente fragmento de código para
enviarle el informe en PDF al cliente:

// en el evento Load de la página
string nombre = 'C:\TEMP\R' + Session.SessionId + '.pdf');
ReportDocument1.ExportToFile(ExportFormatType.PDF, nombre);
Response.Clear();
Response.ContentType = 'application/pdf';
Response.WriteFile(nombre);
Response.End();

Funciona perfectamente, con dos condiciones:
a) Hay que dar permiso de escritura al usuario ASPNET sobre el directorio
TEMP
b) Hay que periódicamente "limpiar" (puedes hacer un programilla para eso)
el directorio TEMP

Slds - Octavio
Respuesta Responder a este mensaje
#3 Octavio Hernandez
17/09/2005 - 20:38 | Informe spam
Pablo,

Bendito sea el gratuito SQL Reporting services, que nos va a librar de
esta pesadilla





Bueno, no exactamente gratuito... Hay que tener la licencia de SQL Server.

http://www.microsoft.com/sql/report...y/faq.mspx

Slds - Octavio
Respuesta Responder a este mensaje
#4 Pablo M
18/09/2005 - 12:58 | Informe spam
Bueno, no exactamente gratuito... Hay que tener la licencia de SQL Server.

http://www.microsoft.com/sql/report...y/faq.mspx

Slds - Octavio



Ya veras como hay una versión gratuita en SQL Server Express. Creo haber
escuchado algo así de Jackie Goldstein y/o de Paul Flessner.
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida