a vueltas con el crystall

28/02/2007 - 20:38 por Carmelo J. Morales Muñoz | Informe spam
hola

en vs2005, me sucede algo extraño con un reporte de crystal.


El reporte es obtenido de un procedimiento almacenado, el cual se le pasa el
parámetro @IdFactura

Todo funciona bien en la máquina en la que desarrollo, pero cuando me lo
llevo a otra máquina, al ejecutar el informe, me dice que no se ha
especificado el parámetro @IdFactura.

Sin envargo si que lo he hecho con
informe.SetParameterValue("@IdFactura", IdFactura);





Como digo, en el ordenador donde tengo instalado vs2005 bien, pero al que me
he llevado la aplicación nada, la base de datos es la misma. ¿alguien tiene
alguna idea de que puede ser?.
 

Leer las respuestas

#1 Carmelo J. Morales Muñoz
01/03/2007 - 20:12 | Informe spam
sigo investigando y he visto varias cosas extrañas.


Para empezar indico que quiero utilizar autenticación windows, para ello
empleo este código extraido de un ejemplo de las paginas de msdn


namespace Factura.Facturar

{

public partial class InfCopiaFactura : Form

{

crCopiaFactura informe = new crCopiaFactura();

public InfCopiaFactura(int IdFactura, string Servidor, string BaseDatos)

{

InitializeComponent();




// Preparo conexión a la base de datos

ConnectionInfo connectionInfo = new ConnectionInfo();

connectionInfo.AllowCustomConnection = true;

connectionInfo.ServerName = Servidor;

connectionInfo.DatabaseName = BaseDatos;

connectionInfo.IntegratedSecurity = true;

EstableceConexion(connectionInfo, informe);





// Paso parámetros


informe.SetParameterValue("@IdFactura", IdFactura);

crv.ReportSource = informe;

}









private void EstableceConexion(ConnectionInfo connectionInfo, crCopiaFactura
informe)

{

Tables tables = informe.Database.Tables;

foreach (CrystalDecisions.CrystalReports.Engine.Table table in tables)

{

TableLogOnInfo tableLogonInfo = table.LogOnInfo;

tableLogonInfo.ConnectionInfo = connectionInfo;

table.ApplyLogOnInfo(tableLogonInfo);

}

}



bueno, pues debe de ser que no se cambia el servidor, porque si en la otra
maquína (no en la que desarrollo con vs2005) cambio el nombre de la maquina
y la llamo como en la que desarrollo si funciona.

Entiendo que el código que co´pié de msdn no funciona pues y no cambia la
ruta de base de datos ni servidor.



¿alguna idea?.

Preguntas similares