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

Terminó el tiempo de espera

Estas en el tema de Terminó el tiempo de espera en el foro de ASP Clásico en Foros del Web. Hola, revisando el foro encontre que ya se ha hablado de este tema, y ya aplique los comentarios que se hicieron pero resulta que ahora ...

  #1 (permalink)  
Antiguo 03/08/2005, 12:12
 
Fecha de Ingreso: julio-2005
Mensajes: 128
Antigüedad: 18 años, 10 meses
Puntos: 0
Terminó el tiempo de espera

Hola, revisando el foro encontre que ya se ha hablado de este tema, y ya aplique los comentarios que se hicieron pero resulta que ahora estoy haciendo un update a una tabla, donde actualizo un solo campo, son alrededor de 100 registros, el problema es que se dilata mucho y nunca llega al final, aunque si esta actualizando un 90% delos registros.


Alguien tiene alguna idea?
Este update esta dentro de un while para hacer el recorrido del rsFact

sqlUp = "UPDATE Factura Set ClaveArtCMK= ' " & rsCMKArt("Clave") &" ' Where Descripcion='" & TRIM(rsFact("Descripcion")) & " ' "
cmdUpDate.ActiveConnection = MM_ConFactura_STRING
cmdUpdate.CommandType = 1
cmdUpDate.CommandText = sqlUp
cmdUpDate.CommandTimeout = 180
cmdUpDate.Execute

Gracias

Última edición por LluviaRamirez; 03/08/2005 a las 13:53
  #2 (permalink)  
Antiguo 03/08/2005, 12:21
Avatar de El_Metallick  
Fecha de Ingreso: noviembre-2002
Ubicación: Santiago, Chile
Mensajes: 1.718
Antigüedad: 21 años, 7 meses
Puntos: 16
me imagino que es por el script time out.... o tambien puede ser la configuracion del IIS... saludos
__________________
Haz la guerra en la cama y el amor donde se te de la gana...
El tiempo es el mejor maestro, lo único malo es que te mata...¡¡Aprovecha tu tiempo!!
  #3 (permalink)  
Antiguo 03/08/2005, 12:45
 
Fecha de Ingreso: julio-2005
Mensajes: 128
Antigüedad: 18 años, 10 meses
Puntos: 0
Gracias por tu respusta, pero no entiendo que puedo moificar..
  #4 (permalink)  
Antiguo 03/08/2005, 13:54
 
Fecha de Ingreso: abril-2004
Ubicación: México D.F.
Mensajes: 1.724
Antigüedad: 20 años, 1 mes
Puntos: 4
Una operación de select con los mismo criterios va bien, o tambien se alenta.

Cuando sucede esto es debido a que sql server como que entra en un ciclo sin fin, ya me ha pasado, y to eso se debe a fallas de sintaxis.
  #5 (permalink)  
Antiguo 03/08/2005, 13:57
 
Fecha de Ingreso: julio-2005
Mensajes: 128
Antigüedad: 18 años, 10 meses
Puntos: 0
con el select esta bien, lo que hice fue incrementar el commandtimeout y aun me sigue saliendo
Microsoft OLE DB Provider for ODBC Drivers (0x80040E31)
[Microsoft][ODBC SQL Server Driver]Terminó el tiempo de espera

Hasta que punto puedo poner el commandtimeout,
Ya revise la sintaxis del update pero no encuentro el error,
  #6 (permalink)  
Antiguo 03/08/2005, 14:04
Avatar de El_Metallick  
Fecha de Ingreso: noviembre-2002
Ubicación: Santiago, Chile
Mensajes: 1.718
Antigüedad: 21 años, 7 meses
Puntos: 16
Server.ScriptTimeout = valor numerico... ponle un valor del orden de 9999 y ve si te funciona asi... saludos
__________________
Haz la guerra en la cama y el amor donde se te de la gana...
El tiempo es el mejor maestro, lo único malo es que te mata...¡¡Aprovecha tu tiempo!!
  #7 (permalink)  
Antiguo 03/08/2005, 14:15
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 5 meses
Puntos: 98
Código:
 sqlUp = "UPDATE Factura Set ClaveArtCMK= ' " & rsCMKArt("Clave") &" ' Where Descripcion='" &TRIM(rsFact("Descripcion")) & " ' "
Bueno, en primer lugar intenta no poniendo la propiedad commandtimeout, a menos que realmente la quieras controlar, pero me parece que no es el caso.

2. Espero estar equivocado...pero por que estas comparando contra un campo de descripcion?

Esto puede ralentizar mucho tu sistema y para mi gusto habla de una base de datos no normalizada, regularmente quisieras tener un id para manejar este tipo de transaccion, el comparar contra un campo de texto, que puede ser una descripcion se me hace un metodo demasiado riesgoso.

3. Hazte un response.write de ese query y ve que la salida sea la correcta.

Salu2,
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #8 (permalink)  
Antiguo 03/08/2005, 14:25
 
Fecha de Ingreso: julio-2005
Mensajes: 128
Antigüedad: 18 años, 10 meses
Puntos: 0
Gracias por sus respuestas, mira lo que sucede es que existe en una BD una tabla que contiene la clave real de articulo y la descripcion del mismo, por otro lado yo tengo en otra BD una tabla en la que tengo los datos que se vacian de una factura, pero la clave del articulo viene de otra forma, el unico campo que tengo en comun para las dos tablas es la descripcion, y de esa forma igualo las claves y guardo la que necesito, mientras estuve probando el codigo con un archivo mas pequeño no tuve problemas y ahora que lo pruebo con un archivo de unos 100 registros me causa esto!! y tengo que entregar mi aplicacion hoy !!
Gracias por su ayuda
  #9 (permalink)  
Antiguo 03/08/2005, 14:28
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 5 meses
Puntos: 98
Pues si, como se ha dicho, con pocos datos y poca concurrencia las cosas funcionan perfectamente, pero cuando tu sistema crece, empiezan los problemas, pero creo que todavia se pueden encontrar un par de errores, te molestaria poner el codigo donde abres el recordset y lo iteras?

Salu2,
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #10 (permalink)  
Antiguo 03/08/2005, 14:32
 
Fecha de Ingreso: julio-2005
Mensajes: 128
Antigüedad: 18 años, 10 meses
Puntos: 0
Asi es, te anexo el codigo completo haber si le encuentras por donde esta el error

<% Response.Expires = -1
Server.ScriptTimeout = 900
%>
<!--#include file="../Connections/ConFactura.asp" -->
<!--#include file="../Connections/ConD84.asp" -->
<%
Dim rsFact, sqlFact
Dim rsFact_numRows
Set rsFact = Server.CreateObject("ADODB.Recordset")
rsFact.ActiveConnection = MM_ConFactura_STRING
rsFact.Source = "SELECT * FROM Factura WHERE Bandera='" & 0 & "'"
rsFact.CursorType = 0
rsFact.CursorLocation = 2
rsFact.LockType = 1
rsFact.Open()

rsFact_numRows = 0
%>
<%
Dim cmdUpDate, sqlUp
Set cmdUpDate = Server.CreateObject("ADODB.Command")

Dim rsCMKArt
Dim rsCMKArt_numRows

dim vardesc
Set rsCMKArt = Server.CreateObject("ADODB.Recordset")
rsCMKArt.ActiveConnection = MM_ConD84_STRING
rsCMKArt.CursorType = 0
rsCMKArt.CursorLocation = 2
rsCMKArt.LockType = 1

While (NOT rsFact.EOF)

vardesc= rsFact("Descripcion")
response.Write(vardesc)
response.Write("<BR>")

rsCMKArt.Source = "SELECT * FROM Articulos Where Descripcion = '" & TRIM(rsFact("Descripcion")) & "'"
rsCMKArt.Open()


if Not rsCMKArt.EOF then
sqlUp = "UPDATE Factura Set ClaveArtCMK= ' " & rsCMKArt("Clave") &" ' Where Descripcion='" & TRIM(rsFact("Descripcion")) & " ' "
cmdUpDate.ActiveConnection = MM_ConFactura_STRING
cmdUpdate.CommandType = 1
cmdUpDate.CommandText = sqlUp
cmdUpDate.CommandTimeout = 0
cmdUpDate.Execute
else
response.Write("no encontro el articulo en la tabla articulos")
response.Write("<BR>")
sqlUp = "UPDATE Factura Set ClaveArtCMK= ' 00000 ' Where Descripcion='" & TRIM(rsFact("Descripcion")) & " ' "
cmdUpDate.ActiveConnection = MM_ConFactura_STRING
cmdUpdate.CommandType = 1
cmdUpDate.CommandText = sqlUp
cmdUpDate.CommandTimeout = 0
cmdUpDate.Execute

end if
rsCMKArt.Close()
rsFact.MoveNext
Wend %>
  #11 (permalink)  
Antiguo 03/08/2005, 14:56
 
Fecha de Ingreso: abril-2004
Ubicación: México D.F.
Mensajes: 1.724
Antigüedad: 20 años, 1 mes
Puntos: 4
Porque no usas esta sintaxis:


sql="update contador_documentos set contador = contador + 1 where (concepto = 0)"
ob_rs.Open sql,cl,adOpenDynamic,adLockOptimistic

donde cl es la conexión, solo copiate el

ADOVBS.inc

Prueba de esa forma
  #12 (permalink)  
Antiguo 03/08/2005, 15:03
 
Fecha de Ingreso: junio-2005
Mensajes: 114
Antigüedad: 19 años
Puntos: 0
probá esto

Ese error significa que la sentencia sql demora demasiado, por lo tanto el IIS te corta la consulta.
Sufrí muchísimo con ese error, y lo solucioné, fijate en este :

http://www.forosdelweb.com/showthrea...hlight=timeout

Slds. Edum.
  #13 (permalink)  
Antiguo 03/08/2005, 15:03
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 5 meses
Puntos: 98
Trata este apprpach:

Código:
<%
Dim rsFact, sqlFact
Dim rsFact_numRows
Set rsFact = Server.CreateObject("ADODB.Recordset")
rsFact.ActiveConnection = MM_ConFactura_STRING
rsFact.Source = "SELECT * FROM Factura WHERE Bandera='" & 0 & "'"
rsFact.CursorType = 0
rsFact.CursorLocation = 2
rsFact.LockType = 1
rsFact.Open()

rsFact_numRows = 0

Dim cmdUpDate, sqlUp
Set cmdUpDate = Server.CreateObject("ADODB.Command")

Dim rsCMKArt
Dim rsCMKArt_numRows

dim vardesc
Set rsCMKArt = Server.CreateObject("ADODB.Recordset")
rsCMKArt.ActiveConnection = MM_ConD84_STRING
rsCMKArt.CursorType = 0
rsCMKArt.CursorLocation = 2
rsCMKArt.LockType = 1

if not rsFact.EOF
	ds = rsFact.GetRows()
else
	ds = Null
end if
Set rsFact = Nothing


if isArray(ds) then
	for j = 0 to uBound(ds,2)
		vardesc = ds(numero_de_campo_descripcion, j)
		rsCMKArt.Source = "SELECT los_campos_que_necesites_unicamente FROM Articulos Where Descripcion = '" & TRIM(ds(numero_campo_descripcion, j)) & "'"
		rsCMKArt.Open()
		if Not rsCMKArt.EOF then
			dsCMK = rsCMKArt.GetRows()
			rsCMKArt.Close
			sqlUp = "UPDATE Factura Set ClaveArtCMK= ' " & dsMCK(numero_campo_clave,j) &" ' Where Descripcion='" & TRIM(ds(numero_campo_descripcion, j)) & " ' "
			cmdUpDate.ActiveConnection = MM_ConFactura_STRING
			cmdUpdate.CommandType = 1
			cmdUpDate.CommandText = sqlUp
			cmdUpDate.CommandTimeout = 0
			cmdUpDate.Execute
			erase dsCMK			
		else
			response.Write("no encontro el articulo en la tabla articulos")
			response.Write("<BR>")
			sqlUp = "UPDATE Factura Set ClaveArtCMK= ' 00000 ' Where Descripcion='" & TRIM(ds(numero_campo_descripcion, j)) & " ' "
			cmdUpDate.ActiveConnection = MM_ConFactura_STRING
			cmdUpdate.CommandType = 1
			cmdUpDate.CommandText = sqlUp
			cmdUpDate.CommandTimeout = 0
			cmdUpDate.Execute		
		end if
	next
	erase ds
end if
%>
Si se queda colgado, entonces creo que la solucion mas viable sera encapsular este procedimiento en un stored procedure, o indexar esa tabla.

Salu2,
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #14 (permalink)  
Antiguo 03/08/2005, 15:27
 
Fecha de Ingreso: julio-2005
Mensajes: 128
Antigüedad: 18 años, 10 meses
Puntos: 0
Pues si se quedo colgado!!! pero no se como hacer lo que me dices ;(
  #15 (permalink)  
Antiguo 03/08/2005, 15:29
 
Fecha de Ingreso: julio-2005
Mensajes: 128
Antigüedad: 18 años, 10 meses
Puntos: 0
gracias por la opcion pero que es ADOVBS.inc
  #16 (permalink)  
Antiguo 03/08/2005, 15:36
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 5 meses
Puntos: 98
Segun lo que entendi es que te dicen no utilices el objeto command, pero en realidad no creo que sea el problema, el problema es donde estas buscando un registro por el campo descripcion, como no es un campo indexado, sino un string, es una tarea bastante dificil para tu manejador de bases de datos, la idea del SP, no es sino para evitar la capa de la llamada al recordset y el manejo de los datos desde VBS, pero en realidad, la idea es que tengas un campo indexado en esa tabla para poder hacer tus busquedas de manera eficiente, aunque a lo mejor me equivoco.

Veamos si alguien mas tiene una mejor idea.

Salu2,
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #17 (permalink)  
Antiguo 03/08/2005, 15:38
 
Fecha de Ingreso: julio-2005
Mensajes: 128
Antigüedad: 18 años, 10 meses
Puntos: 0
Hola, asi es como lo pusiste en tu codigo? de manera que el commandtimeout fuera igual a 0 y el connectiontimeout tambien?

sqlUp = "UPDATE Factura Set ClaveArtCMK= ' " & rsCMKArt("Clave") &" ' Where Descripcion='" & TRIM(rsFact("Descripcion")) & " ' "
cmdUpDate.ActiveConnection = MM_ConFactura_STRING
cmdUpdate.CommandType = 1
cmdUpDate.CommandText = sqlUp
cmdUpDate.CommandTimeout = 0
cmdUpDate.ConnectionTimeout = 0
cmdUpDate.Execute

Fijate que no me marca ya el error de Termino tiempo de espera pero ahora se queda como ciclado o en el limbo, y nunca termina, tienes alguna idea de como correguirlo?
  #18 (permalink)  
Antiguo 03/08/2005, 15:40
 
Fecha de Ingreso: abril-2004
Ubicación: México D.F.
Mensajes: 1.724
Antigüedad: 20 años, 1 mes
Puntos: 4
Presiento que es un error de sintaxis en el campo, x ejemplo al migrar de access a sql server tenia una sintaxis asi:


& " and fecha >= #" & fecha_inicio & "# and fecha <= #" & fecha_final & "#"



al ejecutar, simplemente se quedaba colgado, y no era porque tardara mucho en procesarse la instrucción.

podrias imprimir un solo sqlUp = "UPDATE Factura Set ClaveArtCMK= ' 00000 ' Where Descripcion='" & TRIM(rsFact("Descripcion")) & " ' "
Terminas tu bucle para que solo se ejecute una vez, checas la salida y te vas al analizador del sql y la ejecutas, veras como te dice el error.

Comentas. Ok.




  #19 (permalink)  
Antiguo 03/08/2005, 15:51
 
Fecha de Ingreso: julio-2005
Mensajes: 128
Antigüedad: 18 años, 10 meses
Puntos: 0
Ahora el colmo jaja me sale este error cuando intento correr mi codigo

HTTP 403.9 - Access Forbidden: Too many users are connected
Servicios de Internet Information Server

--------------------------------------------------------------------------------
pero no estoy corriendo nada mas !!
  #20 (permalink)  
Antiguo 03/08/2005, 15:53
 
Fecha de Ingreso: abril-2004
Ubicación: México D.F.
Mensajes: 1.724
Antigüedad: 20 años, 1 mes
Puntos: 4
es x lo mismo que el IIS se queda colgado.
Haz lo que te digo. de verdad sólo con un update desde al analizador de consultas.
  #21 (permalink)  
Antiguo 03/08/2005, 16:35
 
Fecha de Ingreso: julio-2005
Mensajes: 128
Antigüedad: 18 años, 10 meses
Puntos: 0
hola la verdad es que no se como hacer en el analizador, conectarme a 2 bases de datos y poner mi update, podrias darme una idea? :)
Lo que estaba haciendo mientras intento lo del analizador fue quitarle unos registros a la BD, lo que me da a entender que el codigo esta correcto, bueno eso pienso :) es muy seguro que haya articulos que no los encuentre, pero se supone que cuando no encuentra esta descripcion ponga una clave 00000 y asi no me detenga el proceso.

Que mas puedo hacer?! que se les ocurre?!
  #22 (permalink)  
Antiguo 04/08/2005, 08:50
 
Fecha de Ingreso: julio-2005
Mensajes: 128
Antigüedad: 18 años, 10 meses
Puntos: 0
Hay alguna forma de modificarle al SqlServer el tiempo limite que tiene para ejecutar un query? ya utilice en el codigo el commandtimeout, el connectiontimeout, pero o se hace la consulta eterna o se me marca qu termino el tiempo de espera...
Alguna solución?
  #23 (permalink)  
Antiguo 04/08/2005, 09:17
 
Fecha de Ingreso: abril-2004
Ubicación: México D.F.
Mensajes: 1.724
Antigüedad: 20 años, 1 mes
Puntos: 4
Bueno, x lo que veo este no es un error por generar una sentencia sql enorme.
A ver, creo que no tienes mucha experiencia en el manejador de base de datos.Ahi está el problema, un tipo de dato que no es válido. lo más probable.


Para hacer lo que te dije, espero me entiendas con esto que está fácil :
vete al administrador corporativo.
Busca tu servidor
Ahora a base de datos
Doble clic en tu base de datos que usas.
Vete a tablas y por ejemplo abre la tabla facturas.
Clic en panel sql
Escribe la sentencia sql que te genera tu página.

Si con esto no más no. La verdad me doy por vencido contigo.
  #24 (permalink)  
Antiguo 04/08/2005, 09:48
 
Fecha de Ingreso: julio-2005
Mensajes: 128
Antigüedad: 18 años, 10 meses
Puntos: 0
Hola, tienes razon en lo del manejador de datos :(
Ya estoy haciendo la consulta, una consulta sencilla como es Select * from Factura
ya que el primer asp que utilizo es para vaciar el contenido de un TXT al a Tabla Factura, y hoy me causa el mismo error de "Se termino tiempo de espera", lleva 8 mins corriendo y aun no se detiene y mi tabla aun no es tan grande.
Te aviso lo que suceda pero por lo que veo creo que se queda ciclado!!
Gracias por la ayuda, pero aun no te des por vencido!
  #25 (permalink)  
Antiguo 04/08/2005, 10:07
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 5 meses
Puntos: 98
Hagamos un intento mas...explica la logica de este proceso, despues pon la estructura de tus tablas y veamos si hay otra forma de hacer esto.

Salu2,
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #26 (permalink)  
Antiguo 04/08/2005, 10:25
 
Fecha de Ingreso: julio-2005
Mensajes: 128
Antigüedad: 18 años, 10 meses
Puntos: 0
Ok, gracias ... ahi les va
Primero esta es una aplicacion de facturas de proveedores, me envian un archivo txt, lo leo y lo vacio ala BD (por cierto ahorita al guardarlo en la BD ya me envia el error del tiempo) despues de eso lo que hago es una consulta a la bD 2, donde esta una tabla llamada articulos, la cual tiene los datos como clave, descripcion y precio, el problema comienza con que la clave que me envia el proveedor es una y la que manejamos interna es otra, por lo que lo unico que coincide en las 2 tablas es la descripcion, con ese campo hago mi comparacion y un update para guardar la clave correcta en mi tabla Factura para los procesos que siguen,
MI estructura de las tablas es la siguiente:
id int 4 0
IdFactura int 4 0
Fecha datetime 8 1
FechaF datetime 8 1
Cine nvarchar 20 1
NombreCine nvarchar 100 1
Articulo nvarchar 20 1
Descripcion nvarchar 50 1
CantOrden int 4 1
Unidades nvarchar 20 1
IvaPorc nvarchar 6 1
PrecioU money 8 1
Cantidad money 8 1
IvaTotal money 8 1
Total money 8 1
FechaAlta datetime 8 1
StatusDato char 30 1
StatusPrecio char 40 1
Tipo char 10 1
Cuenta char 15 1
Porcentaje int 4 1
Proveedor char 10 1
Bandera int 4 1
ClaveArtCMK char 10 1

LA SEGUNDA BD
TABLA ARTICULOS
Clave nvarchar 15
Descripcion nvarchar 60
UM nvarchar 5
Tipo nvarchar 10


NOTA, supongo que es el mismo problema, pero cuando abro mi tabla de repente tambien me manda el error del tiempo, y ahora hasta en el proceso donde leo y guardo el txt me marca el error.
Espero me puedas ayudar por que en verdad no se ni que moverle para que funcione, ya revise mi codigo pero no encuentro error.

Gracias por tu ayuda
  #27 (permalink)  
Antiguo 04/08/2005, 10:43
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 5 meses
Puntos: 98
Si te entendi correctamente:

1. Tu cliente te da un txt que debes vaciar en la tabla factura
2. Tu tienes una tabla con articulos
3. Los datos que te da el cliente tiene un cierto ID por articulo
4. La datos que tienes en tu tabla articulos tienen otro ID, aun si son el mismo articulo
5. Solo coincide la descripcion(aunque muy bien pudiera no coincidir)
6. Necesitas actualizar la tabla factura con el ID interno de tu aplicacion, pues tienes otros procesos.
7. Para identificar tus articulos utilizas el campo descripcion que en una tabla es un nvarchar de 50 y en la otra un nvarchar de 60
8. Para ello tomas toods los articulos de la tabla articulos y haces un loop preguntando por cada registro que la descripcion coincida con la descripcion de la tabla factura.
9. Si coincide, actualizas el campo ¿¿articulo?? en tu tabla factura con lo que traiga tu campo ¿¿clave?? en la tabla articulos
10. ¿Ninguno de los campos estan indexados?

Si todo es correcto, la solucion tiene que ser facil, primeramente, como te dije desde los primeros posts, necesitaras indexar tus tablas, o asignarle los indices correctos, veo que la tabla factura tiene un campo llave id, que seguramente es un entero secuencial que no utilizas para nada.

Lo siguiente, es que a la tabla articulos le asignes un campo llave que tendra que ser si o si el campo clave, ademas tienes que agregar a la tabla articulos el id externo de ese articulo, como te dije, la comparacion por descripcion es demasiado suceptible de error y poco eficiente.

Finalmente la logica sera la misma, tendras que traer todos los articulos de la tabla articulos, metelos en un arreglo con GetRows como te lo di ayer, recorre ese arreglo y busca el campo interno, y actualizas un campo mas que asignaras a la tabla facturas para tus procesos internos, el cual contendra el valor del ID interno.

Con esto tu proceso se tiene que hacer muchisimo mas ligero.

Salu2,
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #28 (permalink)  
Antiguo 04/08/2005, 11:18
 
Fecha de Ingreso: julio-2005
Mensajes: 128
Antigüedad: 18 años, 10 meses
Puntos: 0
Ok, deja ver si entendi:
Primero si tienes razon en que la llave id no la utilizo para nada, entonces lo que ahora tengo que hacer es indexar, estoy buscando info acerca de esto, por que no lo habia hecho antes, pero ahorita lo voy a hacer. Lo siguiente que me sugieres es lo que no te entiendo muy bien,

"Lo siguiente, es que a la tabla articulos le asignes un campo llave que tendra que ser si o si el campo clave, ademas tienes que agregar a la tabla articulos el id externo de ese articulo, como te dije, la comparacion por descripcion es demasiado suceptible de error y poco eficiente."

Cuando me dices que agrege un id externo al articulo de la tabla Articulos te refieres a que tal vez puedo poner un numero consecutivo o talvez guardar la clave del articulo que me manda el proveedor para poder tener otro campo para mi busqueda, creo que eso seria lo ideal.
Es a lo que te refieres?
  #29 (permalink)  
Antiguo 04/08/2005, 11:20
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 5 meses
Puntos: 98
Claro, perdon por mi redaccion , la clave del articulo es lo correcto
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #30 (permalink)  
Antiguo 04/08/2005, 11:23
 
Fecha de Ingreso: julio-2005
Mensajes: 128
Antigüedad: 18 años, 10 meses
Puntos: 0
Ok, gracias por tu sugerencia es lo que hare,
Por cierto para hacer esto tendría que hacerlo manualmente? osea escribir en la tabla los valores equivalentes?
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 00:16.