Foros del Web » Programando para Internet » ASPX (.net) »

Error extraño. Va en local, pero no en el servidor ¿¿??

Estas en el tema de Error extraño. Va en local, pero no en el servidor ¿¿?? en el foro de ASPX (.net) en Foros del Web. Buenos días. Estoy con una web de estadísticas en ASP.NET y aparentemente funciona OK porque me muestra los datos que quiero. El caso es que ...
  #1 (permalink)  
Antiguo 20/12/2007, 06:43
 
Fecha de Ingreso: noviembre-2007
Mensajes: 15
Antigüedad: 16 años, 5 meses
Puntos: 0
Error extraño. Va en local, pero no en el servidor ¿¿??

Buenos días.

Estoy con una web de estadísticas en ASP.NET y aparentemente funciona OK porque me muestra los datos que quiero.

El caso es que lo subo al servidor y...una parte no funciona. Y yo no lo entiendo, pues la consulta es correcta, lo busca correctamente, pero...en mi máquina, porque en el servidor no hace nada .

Así que mosqueante el caso es. El caso que la consulta sí es correcta, por lo que el fallo tiene pinta de estar en el código y ahora mismo no caigo cuál puede ser el fallo .

Os dejo el código para que le echéis un ojo:

Código:
		protected static bool entra;
		protected string[] ciertoEntra = new string[20];
		protected string[] ciertoEntraNodo = new string[20];
		protected string[] ciertoEntraNode = new string[20];
		protected int indiceEntra=0;
		protected int indiceEntraNodo=0;
		protected int indiceEntraNode=0;
		protected static bool entraNodo;
		protected static bool entraNode;

		public string SacaNoticiaCof(string dato)
		{
			int total=0;

			string datos="";

			entra=false;

			string sql="select b.title from estadisticas_agregado a, channels b where a.web = b.keymultiweb and b.idchannel="+dato;

			DataSet objDataSet = DataHelper.ExecuteDataset(this.strConnectionString,CommandType.Text,sql);

			if ( objDataSet != null )
			{
				if ( objDataSet.Tables.Count > 0 )
				{
					if ( objDataSet.Tables[0].Rows.Count > 0 )
					{
						entra=true;

						total=objDataSet.Tables[0].Rows.Count;
						dataLabel = new string[total];

						foreach ( DataRow objDataRow in objDataSet.Tables[0].Rows )
						{
							if (entra==true)
							{
								datos = objDataRow["title"].ToString();
							}
						}
					}
				}
			}
			else
			{
				datos="";
			}

			ciertoEntra[indiceEntra]=entra.ToString();
			indiceEntra++;
			
			return (datos);
		}

		public string SacaBoletinesCof(string dato)
		{
			int total=0;

			string datos="";

			entraNode=false;

			string sql="select title from channels where idchannel="+dato;

			DataSet objDataSet = DataHelper.ExecuteDataset(this.strConnectionString,CommandType.Text,sql);

			if ( objDataSet != null )
			{
				if ( objDataSet.Tables.Count > 0 )
				{
					if ( objDataSet.Tables[0].Rows.Count > 0 )
					{
						entraNode=true;

						total=objDataSet.Tables[0].Rows.Count;
						dataNodo = new string[total];

						foreach ( DataRow objDataRow in objDataSet.Tables[0].Rows )
						{
							if (entraNode==true)
							{
								datos = objDataRow["title"].ToString();
							}
						}
					}
				}
			}
			else
			{
				datos="";
			}

			ciertoEntraNode[indiceEntraNode]=entraNode.ToString();
			indiceEntraNode++;
			
			return (datos);
		}


		public virtual string RenderListInterna( string		sql, 
			string[]	dataTypes, 
			int[]			indexes, 
			bool			group, 
			bool			showTotal, 
			int				keyMultiweb,
			RenderDelegate	dlgRenderHeader )
		{
			string dato="";
			string datocolumna="";
			string datonodo="";
			string datonode="";
			int[] totals = new int[indexes.Length]; //por defecto, serán 0

			DataSet objDataSet = DataHelper.ExecuteDataset(this.strConnectionString,CommandType.Text,sql);

			if ( objDataSet != null )
			{
				if ( objDataSet.Tables.Count > 0 )
				{
					if ( objDataSet.Tables[0].Rows.Count > 0 )
					{
						int idx = 0;

						foreach ( DataRow objDataRow in objDataSet.Tables[0].Rows )
						{
							for ( int i = 1; i <= dataTypes.Length-1; i++ )
							{
								if (i==dataTypes.Length-4)
								{
									dato=this.GetDataValue(objDataRow, indexes[i], dataTypes[i], keyMultiweb);
									datocolumna=this.SacaNoticiaCof(dato);
								}
							}
						}

						foreach ( DataRow objDataRow in objDataSet.Tables[0].Rows )
						{
							for ( int i = 1; i <= dataTypes.Length-1; i++ )
							{
								if (i==dataTypes.Length-1)
								{
									dato=this.GetDataValue(objDataRow, indexes[i], dataTypes[i], keyMultiweb);
									datonode=this.SacaBoletinesCof(dato);
								}
							}
						}
                                                 ....

							for ( int i = 1; i <= dataTypes.Length-1; i++ )
							{			
								b.Append("<td class=\"row" + letter + "\" ");

								if (i==dataTypes.Length-4)
								{
									if ((String.Equals(ciertoEntra[0],"True")==true) || (String.Equals(ciertoEntra[0],"true")==true))
									{
										b.Append("title='");
										b.Append(datocolumna);
										b.Append("' ");
										f++;
									}
								}

								if (i==dataTypes.Length-3)
								{
									if ((String.Equals(ciertoEntraNodo[0],"True")==true) || (String.Equals(ciertoEntraNodo[0],"true")==true))
									{
										b.Append("title='");
										b.Append(datonodo);
										b.Append("' ");
										g++;
									}
								}

								if (i==dataTypes.Length-1)
								{
									if ((String.Equals(ciertoEntraNode[0],"True")==true) || (String.Equals(ciertoEntraNode[0],"true")==true))
									{
										b.Append("title='");
										b.Append(datonode);
										b.Append("' ");
										o++;
									}
								}
}

// Aquí el otro procedimiento

		public virtual string RenderListInterna1( string		sql, 
			string[]	dataTypes, 
			int[]			indexes, 
			bool			group, 
			bool			showTotal, 
			int				keyMultiweb,
			RenderDelegate	dlgRenderHeader )
		{
			StringBuilder b = new StringBuilder();

			//preparo los totales, si es necesario
			int[] totals = new int[indexes.Length]; //por defecto, serán 0

			string dato="";
			string datocolumna="";
			string datocol="";
			string datonodo="";
			string[] DatosSacados;
			string[] DatosExtraidos;
			string[] DatosSalidos;
			string[] EntraCierto;
			string[] EntraNodoCierto;
			string[] EntraNodeCierto;
			int total=0;

			int f = 0;

			int g = 0;

			int j = 0;

			int h = 0;

			int o = 0;

			int r = 0;

			int indicePrimero=0;
			int indiceSegundo=0;
			int indiceTercero=0;

			DataSet objDataSet = DataHelper.ExecuteDataset(this.strConnectionString,CommandType.Text,sql);

			if ( objDataSet != null )
			{
				if ( objDataSet.Tables.Count > 0 )
				{
					if ( objDataSet.Tables[0].Rows.Count > 0 )
					{
						total=objDataSet.Tables[0].Rows.Count;
						DatosSacados=new string[total];
						DatosExtraidos=new string[total];
						DatosSalidos=new string[total];
						EntraCierto=new string[total];
						EntraNodoCierto=new string[total];
						EntraNodeCierto=new string[total];

						foreach ( DataRow objDataRow in objDataSet.Tables[0].Rows )
						{
							for ( int i = 1; i <= dataTypes.Length-1; i++ )
							{
								if (i==dataTypes.Length-4)
								{
									dato=this.GetDataValue(objDataRow, indexes[i], dataTypes[i], keyMultiweb);
									datocolumna=this.SacaNoticiaCof(dato);
									DatosSacados[f]=datocolumna;
									f++;
								}
							}
						} 

						foreach ( DataRow objDataRow in objDataSet.Tables[0].Rows )
						{
							for ( int i = 1; i <= dataTypes.Length-1; i++ )
							{
								if (i==dataTypes.Length-1)
								{
									dato=this.GetDataValue(objDataRow, indexes[i], dataTypes[i], keyMultiweb);
									datocol=this.SacaBoletinesCof(dato);
									DatosSalidos[o]=datocol;
									o++;
								}
							}
						} 

					for (int l=1;l<EntraCierto.Length;l++)
					{
						if ((String.Equals(ciertoEntra[l],"")!=true) || (String.Equals(ciertoEntra[l],null)!=true))
						{
							EntraCierto[l-1]=ciertoEntra[l];
						}
					}

					for (int l=1;l<EntraNodoCierto.Length;l++)
					{
						if ((String.Equals(ciertoEntraNodo[l],"")!=true) || (String.Equals(ciertoEntraNodo[l],null)!=true))
						{
							EntraNodoCierto[l-1]=ciertoEntraNodo[l];
						}
					}

					for (int l=1;l<EntraNodeCierto.Length;l++)
					{
						if ((String.Equals(ciertoEntraNode[l],"")!=true) || (String.Equals(ciertoEntraNode[l],null)!=true))
						{
							EntraNodeCierto[l-1]=ciertoEntraNode[l];
						}
					}

					int idx = 1;

						foreach ( DataRow objDataRow in objDataSet.Tables[0].Rows )
						{
							int contador=0;
							string letter = idx % 2 == 0 ? "B" : "A";

							b.Append("<tr class=\"tbrs\">\n");
							b.Append("	<td class=\"tbrshead\">"+this.GetDataValue(objDataRow, indexes[0], dataTypes[0], keyMultiweb)+"</td>\n");
							
							for ( int i =1; i <= dataTypes.Length-1; i++ )
							{			
								b.Append("<td class=\"row" + letter + "\" ");

								if (i==dataTypes.Length-4)
								{
									if ((String.Equals(EntraCierto[indicePrimero],"True")==true) || (String.Equals(EntraCierto[indicePrimero],"true")==true))
									//if (entra==true)
									{
										b.Append("title='");
										b.Append(DatosSacados[indicePrimero]);
										b.Append("' ");
										j++;
									} 
									indicePrimero++;
								}

								if (i==dataTypes.Length-3)
								{
									if ((String.Equals(EntraNodoCierto[indiceSegundo],"True")==true) || (String.Equals(EntraNodoCierto[indiceSegundo],"true")==true))
									//if (entraNodo==true)
									{
										b.Append("title='");
										b.Append(DatosExtraidos[indiceSegundo]);
										b.Append("' ");
										h++;
									}
									indiceSegundo++;
								}

								if (i==dataTypes.Length-1)
								{
									if ((String.Equals(EntraNodeCierto[indiceTercero],"True")==true) || (String.Equals(EntraNodeCierto[indiceTercero],"true")==true))
									//if (entraNode==true)
									{
										b.Append("title='");
										b.Append(DatosSalidos[indiceTercero]);
										b.Append("' ");
										r++;
									}
									indiceTercero++;
								} 
}
Yo ya no sé qué puede ser. Si encontráis algo, os lo agradeceré, porque realmente ya no sé qué puede ser...

Muchas gracias y un saludo.
  #2 (permalink)  
Antiguo 20/12/2007, 07:22
Avatar de mdavila  
Fecha de Ingreso: julio-2007
Ubicación: Montevideo (Uruguay)
Mensajes: 919
Antigüedad: 16 años, 9 meses
Puntos: 13
Re: Error extraño. Va en local, pero no en el servidor ¿¿??

La verdad si no te tira error la pagina corriendo en el servidor, si local corre bien, tiene que ser la consulta si, no taras jugando con fechas y tu server esta en otro idioma no?.....
Realizaste un debug a ver si cuando ejecutas una consulta te retorna algo?

Saludos.
  #3 (permalink)  
Antiguo 20/12/2007, 13:04
 
Fecha de Ingreso: abril-2007
Mensajes: 163
Antigüedad: 17 años
Puntos: 2
Re: Error extraño. Va en local, pero no en el servidor ¿¿??

Hola,
que tal si utilizas try catch para ver cual es el error

try{
//codigo
}
catch(Exception ex) {
ex.... //Propiedades del error
}
  #4 (permalink)  
Antiguo 21/12/2007, 07:11
 
Fecha de Ingreso: noviembre-2007
Mensajes: 15
Antigüedad: 16 años, 5 meses
Puntos: 0
Re: Error extraño. Va en local, pero no en el servidor ¿¿??

Gracias a ambos, pero es que no da error . De hecho, no coge ninguna excepción.

Y también es cierto que no me pasan la cadena de conexión del servidor, no del local, ya que así podría ver los fallos, pero ¿cómo los puedo ver si no me los da? No tengo poderes adivinativos.

Saludos.
  #5 (permalink)  
Antiguo 29/12/2007, 23:49
 
Fecha de Ingreso: diciembre-2007
Mensajes: 8
Antigüedad: 16 años, 3 meses
Puntos: 0
Re: Error extraño. Va en local, pero no en el servidor ¿¿??

activa la traza del archivo.

en la cabeza ( primera linea con <% %>) agregada Trace="True"

hay vas a ver los datos
  #6 (permalink)  
Antiguo 30/12/2007, 11:16
 
Fecha de Ingreso: diciembre-2007
Mensajes: 22
Antigüedad: 16 años, 4 meses
Puntos: 0
Re: Error extraño. Va en local, pero no en el servidor ¿¿??

a mi me a pasado lo mismo ultimamente, es extraño en el servidor de desarrollo corre sin problemas , pero en el servidor de desarrollo no anda.

Bueno lo que me di cuenta es que realiza varios postback, y se perdian los datos lo cual lo solucione asiganandolo en variables de session.

es lo que se me ocurre quizas otro porblema pueda ser tu conexion fijate que estes accediendo al servidor de base de datos correctos.

espero que te sirva de algo.
  #7 (permalink)  
Antiguo 30/12/2007, 14:03
Avatar de mdavila  
Fecha de Ingreso: julio-2007
Ubicación: Montevideo (Uruguay)
Mensajes: 919
Antigüedad: 16 años, 9 meses
Puntos: 13
Re: Error extraño. Va en local, pero no en el servidor ¿¿??

Si hace varios postback es porque hay algun control u objeto del tipo html con alguna imagen mal.

img.url='\este camino tenes que verificar en todas las etiquetas o controles si hace mas de un postback'
  #8 (permalink)  
Antiguo 30/12/2007, 18:57
 
Fecha de Ingreso: diciembre-2007
Mensajes: 22
Antigüedad: 16 años, 4 meses
Puntos: 0
Re: Error extraño. Va en local, pero no en el servidor ¿¿??

en mi caso no hay imagenes asociadas a la pagina como para que suceda lo que dices. Lo que si tengo controles creados dinamicamente.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 09:10.