Foros del Web » Programando para Internet » ASP Clásico »

Problemas con un update

Estas en el tema de Problemas con un update en el foro de ASP Clásico en Foros del Web. espero keme puedan ayudar tengo el siguiente update Sql = "UPDATE dbo.BD_CAL_IGH SET IGH_rem = "&CDbl(IGH_rem)&", IGH_costo = "&CDbl(IGH_costo)&" WHERE (PERIODO = "&PERIODO&") AND (TAMANO_VENTA ...
  #1 (permalink)  
Antiguo 29/06/2005, 13:23
 
Fecha de Ingreso: octubre-2004
Mensajes: 101
Antigüedad: 20 años, 6 meses
Puntos: 0
Problemas con un update

espero keme puedan ayudar

tengo el siguiente update

Sql = "UPDATE dbo.BD_CAL_IGH SET IGH_rem = "&CDbl(IGH_rem)&", IGH_costo = "&CDbl(IGH_costo)&" WHERE (PERIODO = "&PERIODO&") AND (TAMANO_VENTA = "&TAMANO_VENTA&") AND (CATEGORIA = '"&CATEGORIA&"') AND (DIVISION = "&DIVISION&") AND (GRUPO = "&GRUPO&") AND (ESTRATO = "&ESTRATO&")"
response.write Sql&"<br><br>"
Rs.open Sql, conexionBD, 1, 2

al ejecutarlo desde el sistema me sale el siguiente error

Error Type:
(0x80040E31)
/RemuneracionesDesarrollo/lib_asp/functionCalculo.asp, line 195


la linea 195 es la siguiente
Rs.open Sql, conexionBD, 1, 2

al mostrar el Sql y lo pruebo en el query analyzer me funciona perfectamente

no he podido encontrar nada por internet ke me pueda ayudar a solucionar este problema

ojala me puedar ayudar, he estado con este casho hace rato ya..........

de antemano muchas gracias
  #2 (permalink)  
Antiguo 29/06/2005, 13:25
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 23 años, 4 meses
Puntos: 98
No te da descripcion del error??
Estas utilizando SQL Server obviamente verdad?

Salu2,
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #3 (permalink)  
Antiguo 29/06/2005, 13:26
 
Fecha de Ingreso: octubre-2004
Mensajes: 101
Antigüedad: 20 años, 6 meses
Puntos: 0
no me da ninguna descripcion del error


solo me sale el siguiente mensaje

Error Type:
(0x80040E31)
/RemuneracionesDesarrollo/lib_asp/functionCalculo.asp, line 195



y si estoy utilizando SqlServer 2000
  #4 (permalink)  
Antiguo 29/06/2005, 13:31
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 23 años, 4 meses
Puntos: 98
Y si tratas de forzar a que te de la descripcion con un error handler

antes de la linea que te tira el error

on error resume next
'linea de error

if err.number <> 0 then
response.write err.description
response.end
end if

Otra cosa, que Service Pack tiene el SQL?

Salu2,
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #5 (permalink)  
Antiguo 29/06/2005, 13:41
 
Fecha de Ingreso: octubre-2004
Mensajes: 101
Antigüedad: 20 años, 6 meses
Puntos: 0
voy a ver el error como me dices tu.............

y en cuanto al service pack me pillaste, yo no trabajo directamente con el servidor.......... solo tengo permiso limitado tendria ke llamar al administrador para preguntar
  #6 (permalink)  
Antiguo 29/06/2005, 13:42
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 23 años, 4 meses
Puntos: 98
otra cosa...asegurate de que tu tabla este indexada, ya nos comentas mas tarde

Salu2,
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #7 (permalink)  
Antiguo 29/06/2005, 13:49
 
Fecha de Ingreso: octubre-2004
Mensajes: 101
Antigüedad: 20 años, 6 meses
Puntos: 0
si la tabla esta indexada con 6 campos los mismo ke se esta haciendo el filtro del update

osea

PERIODO, TAMANO_VENTA, CATEGORIA, DIVISION, GRUPO, ESTRATO

el administrador me dice ke tiene el service pack 2
  #8 (permalink)  
Antiguo 29/06/2005, 13:53
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 23 años, 4 meses
Puntos: 98
Haciendo un poco de busqueda, estoy viendo que probablemente es un error de timeout, trata incrementando el timeout de tu script.
Aqui hay algo de info:

http://support.microsoft.com/default...25120121120120

Por ahi, el error es en el diseno de tu tabla?
Este servidor de SQL es remoto?
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #9 (permalink)  
Antiguo 29/06/2005, 14:15
 
Fecha de Ingreso: octubre-2004
Mensajes: 101
Antigüedad: 20 años, 6 meses
Puntos: 0
el diseño de la tabla esta Ok, es un servidor dedicado.................


no creo ke sea un problema del timeout, ya ke lo he incrementado ya varias veces y me sale el mismos error

en este momento estoy viendo un asunto de los permisos, espero ke sea eso

Última edición por nana_01; 29/06/2005 a las 14:27
  #10 (permalink)  
Antiguo 29/06/2005, 14:20
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 23 años, 4 meses
Puntos: 98
Pero hiciste el error handler que te puse?
No creo que sea cuestion de permisos a menos que sean permisos de SQL, utilizas el dbo para esta conexion?
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #11 (permalink)  
Antiguo 29/06/2005, 14:32
 
Fecha de Ingreso: octubre-2004
Mensajes: 101
Antigüedad: 20 años, 6 meses
Puntos: 0
son demasiados los calculos ke realizo asi ek la consulta es un poco demorosa, es lo normal.................

si utilizo dbo


en el error no he podido aun mostrar la descripcion, pero me sale lo siguiente numero

-2147217871

deja volver a probar
  #12 (permalink)  
Antiguo 29/06/2005, 14:42
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 23 años, 4 meses
Puntos: 98
Error de timeout

http://support.microsoft.com/default...b;en-us;209050
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #13 (permalink)  
Antiguo 29/06/2005, 14:45
 
Fecha de Ingreso: octubre-2004
Mensajes: 101
Antigüedad: 20 años, 6 meses
Puntos: 0
hahaha ahora leyendo la pagina me doy cuenta................

pero no casho a ke se debe, en el servidor esta el timeout como 0

......... ademas ke recien estoy con asp........... y lo peor de todo no soy buena para el ingles

antes trabajaba con php
  #14 (permalink)  
Antiguo 29/06/2005, 14:47
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 23 años, 4 meses
Puntos: 98
Es decir, el IIS no tiene timeout?
Trata poniendo en tu script

Server.ScriptTimeOut = 'cantidad en minutos o segundos, no recuerdo , mejor si lo pones a 0 y vemos como funciona

Si eso no lo remedia, hazte un stored procedure, con lo cual el performace deberia ser mejor...

Salu2,
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #15 (permalink)  
Antiguo 29/06/2005, 14:54
 
Fecha de Ingreso: octubre-2004
Mensajes: 101
Antigüedad: 20 años, 6 meses
Puntos: 0
bueno intentare dejarlo en 0 o no habra mas remedio ke hacer un procedimiento almacenado..............

como recien estoy trabajando con herramientas de microsoft aun no me acostumbro a utilizar los procedimientos almacenados

muchas gracias por todo y ahora hare el intento, hber si puedo solucionar este casho
  #16 (permalink)  
Antiguo 29/06/2005, 15:17
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 24 años, 2 meses
Puntos: 535
En aspfaq.com dicen que se puede deber al MDAC 2.6 (además, referirse al servidor sql mediante la ip en vez del nombre):

http://www.aspfaq.com/show.asp?id=2287
__________________
...___...
  #17 (permalink)  
Antiguo 29/06/2005, 15:30
Avatar de Neuron_376  
Fecha de Ingreso: abril-2005
Mensajes: 1.051
Antigüedad: 20 años, 1 mes
Puntos: 2
Hola

Bueno, intenta tambien algo asi:

on error resume next

'EN ALGUN LUGAR TIENES ALGO COMO:
rs = CreateObjetc("ADO....")

'Bueno, esa linea quitala, comentala o algo, es decir, que no se ejecute.

Sql = "UPDATE dbo.BD_CAL_IGH SET IGH_rem = " & Cstr(CDbl(IGH_rem)) & ", IGH_costo = " & Cstr(CDbl(IGH_costo)) & " WHERE (PERIODO = "& Cstr(PERIODO) & ") AND (TAMANO_VENTA = " & Cstr(TAMANO_VENTA) & ") AND (CATEGORIA = '" & Cstr(CATEGORIA) & "') AND (DIVISION = " & Cstr(DIVISION) &") AND (GRUPO = " & Cstr(GRUPO) & ") AND (ESTRATO = " & Cstr(ESTRATO) & ")"

response.write Sql&"<br><br>"

set Rs = conexionBD.Execute(Sql)

if conexionBD.Errors.Count > 0 then

Response.write conexionBD.Errors(0).Description

else

Response.write "Al parecer no hubo errores"

end if

Response.End()

Con esto estas asegurandote de que todos tus CDBL se agreguen a la cadena de SQL como eso, como cadenas, lo cual previene errores de concatenacion de cadenas, al usar set en lugar de un recordset con open, evitaras problemas con el MDAC, y bueno, pues lo demas es para poder ver el error del database detallado.

Tal vez te sirva..

Suerte!!
__________________
NeuronaNet.com... la idea correcta.
http://www.NeuronaNet.com
  #18 (permalink)  
Antiguo 30/06/2005, 12:21
 
Fecha de Ingreso: octubre-2004
Mensajes: 101
Antigüedad: 20 años, 6 meses
Puntos: 0
pude solucionar el problema...........

al final guarde todos los datos a actualizar en arreglos y despues ejecute el procedimiento almacenado...........

modifike como 8 veces el script, lo importante ke me resulto........... muchas gracias a todos los ke respondieron a mi problema

gracias saludos
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 01:27.