Visual Basic - OLE DB ERROR

Life is soft - evento anual de software empresarial
 
Vista:

OLE DB ERROR

Publicado por Luis (2 intervenciones) el 22/05/2003 17:46:22
Hola.
Tengo una aplicacion VB6 que se encarga de actualizar una BD VF en un cliente desde una BD DB2/400. (Lee los registros remotos para luego crearlos en la base local .ADDNEW)
Todo esto es a traves de ADO/OLEDB.
El sistema trabaja super bien. hasta que se encuentra con una tabla de mas de 1.600.000 registros. Aqui comienzan mis dolores de cabeza, ya que despues de un buen rato(Logra crear en la base local aprox 1.400.000 registros) la aplicacion se cae arrojando el sgte mensaje:
(mientras mas tiempo pasa mas lenta se coloca la copia de la aplicacion hasta que ya no avanza y arrroja el mensaje)

Microsoft OLE DB Provider for ODBC Drivers-->Espacio de almacenamiento insuficiente para completar esta operación.

y no tengo la menor idea de como poder solucionar este tema.

favor neceito de vuestros comentarios
gracias

Lo otro, que aunque no es tan relevante como lo anterior, es que al momento de estar copiando los registros, la aplicacion se BLOQUEA, no dejando hacer nada, ¿Como puedo darle el control al resto de las aplicaciones como si fuera un proceso BATCH?

Chaito
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 109
Ha aumentado 1 puesto en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

RE:OLE DB ERROR

Publicado por Yamil Bracho (226 intervenciones) el 22/05/2003 19:20:41
El problema Luis es que estas jalando muchos datos atraves de la RED y no les da un tiempo al sistema para que se "refresque". Puedes llevar un contador de registros y cada 5000 o mas registros puedes hacer una llamada a DoEvents de esta manera le da tiempo a Winodws de procesar la cola de mensajes. Lo otro que puedes hacer es darle un CacheSize a la data que lees del 400, por defecto ADO va fila por fila, asi que la congestion en la red es grande. Coloca 100 o mas y en recordset.CacheSize que abriste a Db2 y asi incrementas rendimiento

Saludos
Yamil
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:OLE DB ERROR

Publicado por Luis (2 intervenciones) el 22/05/2003 19:33:37
Gracias Yamil:
Entiendo vuestra respuesta, y la encuentro bastante certera, el problema es que ya estoy utilizando el DoEvents por cada 100 registros, y asi y todo pasa lo que te describi antes.
Y eso que dices de que "no le doy tiempo" es verdad, ya que cuando quiero ver cuanto lleva la tabla en bytes.... esta en 0....
ahora lo del cahesize no lo pude probar ya que estoy leyendo asincronicamente los datos desde el as..... asi que tendre que modificar esta lectura para probrar....
si sabes algo mas te lo agradeceria
Gracias
Chau
solo cuando pauseo o cierro la aplicacion muestra el valor final de la tabla.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar