Hola a todos.
Necesito colaboración con lo siguiente.
Tengo un código en C# donde cargo un reporte en Crystal Report 2008 y funciona todo ok, mientras no tenga q cambiar por código el servidor o la base de datos del reporte origonal.
Necesito desde C# actualizar el reporte pero apuntando a un servidor nuevo y/o a una base de datos nuevo. Para pasar los datos de conexión utilizo las siguientes lineas
ArrayList arrayList = new ArrayList();
arrayList.Add(param);
crystalReportViewer.ReportSource = "c:\\MovBodega.rpt";
ConnectionInfo connectionInfo = new ConnectionInfo();
ParameterFields parameterFields = crystalReportViewer.ParameterFieldInfo;
SetCurrentValuesForParameterField(parameterFields, arrayList);
connectionInfo.ServerName = "FRUIZ"; // serv;
connectionInfo.DatabaseName = "NN"; //bd;
connectionInfo.UserID = "sa"; //userbd;
//connectionInfo.Password = "123"; //pwbd;
SetDBLogonForReport(connectionInfo);
y la función q hace la conexion es:
private void SetDBLogonForReport(ConnectionInfo connectionInfo)
{
TableLogOnInfos tableLogOnInfos = crystalReportViewer.LogOnInfo;
foreach (TableLogOnInfo tableLogOnInfo in tableLogOnInfos)
{
tableLogOnInfo.ConnectionInfo.ServerName = connectionInfo.ServerName;
tableLogOnInfo.ConnectionInfo.DatabaseName = connectionInfo.DatabaseName;
tableLogOnInfo.ConnectionInfo = connectionInfo;
tableLogOnInfo.ConnectionInfo = connectionInfo;
}
}
Pero no me funciona si cambio el nombre de la bd o del servidor. El informe asume los datos con los que se creo el reporte inicialmente.
Alguien me puede ayudar con esto, es algo urgente. Mil gracias.