Ver Mensaje Individual
  #3 (permalink)  
Antiguo 17-09-2004, 01:00:00
mdomenech mdomenech is offline
Un Nuevo Amigo
 
Registrado: may 2004
Posts: 3
mdomenech Valoración +2
Predeterminado RE: Error de ODBC Visual FoxPro Driver

RE: Error de ODBC Visual FoxPro Driver

Si, utilizo la claudsula DOEvents, para darle tiempo al sistema que termine todo lo que debe hacer dentro del bucle.
finalmente buscando, buscando encontre un articulo en microsoft el Microsoft Knowledge Base Article - 275577, que explica que lo que sucede es un bug reconocido que tiene el driver ODBC para el visual fox pro.

Basicamente, cuando se quieren añadir mas de 1000 registros a una tabla DBF con mas de 65 campos, el ODBC se cuelga y puede largar algunos d elos siguientes errores.


If the Visual FoxPro (VFP) ODBC driver is used to write more than 1000 records to a table with more than 64 fields, one of the following errors may occur:
Fatal Error: Exception code C0000005 (most common).
System locks up or stops responding (hang).
Error message: "OLE Exception Error: Exception code C00000005. OLE Object may be corrupt".
Error message (the variable name will vary): "-2147467259 [Microsoft] [ODBC Visual FoxPro Driver] Variable Q876P55 is not found".


Yo estoy trabajando com una tabla que tiene 67 campos y otra que tiene 75. Solucione el tema añadiendo valores predeterminados dentro del recordset.addnew, solamente para 62 o 63 campos y que los demas tomaran valores nulos. Previa configuracion del driver ODBC para que acepte valores nulos en los campos. De esta manera no tuve ningun problema en cargar casi 4000 registros de un solo saque, sin que se colgara el programa, cosa que antes era imposible, si uno queria asignarle valores a cada uno de los mas de 65 campos.

No es la primera vez que en acces o en este caso con odbc, tengo que "empeorar" o "desoptimizar" el codigo de mi programa, para saltar los Bugs de Microsoft!!!!

Saludos</TR>
Responder Con Cita