![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
|||
|
|||
|
Utilizo un TTable en el que està la tabla access donde guardo los registros, y un TADOQuery donde hago la consulta de la tabla FoxPro y de la que obtengo los registros. El código es el siguiente:
procedure TFAssistent.VolcarTiclin(); begin ADOQueryAux.Close; ADOQueryAux.SQL.Clear; ADOQueryAux.SQL.Add('SELECT canped, codart, fectic, preven'); ADOQueryAux.SQL.Add('FROM ticlin'); ADOQueryAux.Open; while not ADOQueryAux.Eof do begin TAccessDades.Insert; TAccessDades.FieldByName('canped').AsString := ADOQueryAux.Recordset.Fields.Item[0].Value; TAccessDades.FieldByName('codart').AsString := ADOQueryAux.Recordset.Fields.Item[1].Value; TAccessDades.FieldByName('fectic').AsString := ADOQueryAux.Recordset.Fields.Item[2].Value; TAccessDades.FieldByName('preven').AsString := ADOQueryAux.Recordset.Fields.Item[3].Value; TAccessDades.Post; ADOQueryAux.Recordset.MoveNext; end; end; //_________________________________________________________________________ |
|
#2
|
||||
|
||||
|
Algunas cosas que puedes probar:
* Revisa la versión que tienes instalada de las MDAC. Sé que en algunos casos algunos errores de éste tipo se solventan instalando las últimas versiones. * Revisa la propiedad CursorLocation y CursorType de la conexión de ADO, Prueba con las diferentes opciones.
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi ![]() P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
|
#3
|
||||
|
||||
|
Independientemente de localizar el fallo, yo quitaría:
TAccessDades.Post; del bucle y solamente lo pondría al salir del mismo. Un Saludo.
__________________
Guía de Estilo de los Foros Cita:
|
|
#4
|
|||
|
|||
|
Siento decíros que nada de lo que me habéis dicho ha funcionado.
Por cierto, tengo Win2000, Delphi 7 y Access2000. He probado incluso de aumentar hasta 512 - 768 mb's el archivo de intercambio de windows, pero nada de nada. |
|
#5
|
||||
|
||||
|
Ves a la página de Tamaracka:
http://www.tamaracka.com/ En el cuadro de edición de "Search Borland* Newsgroups" escribe "E_Fail Status" (sin comillas) y busca. Ahí puedes encontrar más info. Suerte.
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi ![]() P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
|
#6
|
|||
|
|||
|
- Cambiar el CursorType y/o el CursorLocation no va a servir ya que todo se realiza en la misma máquina, los datos y los resultados están en el mismo ordenador.
- Poner el ".post" al final del bucle tampoco me ha cambiado nada, da el mismo error. - La versión MDAC és la más actualizada. - La función BatchMove sólo sirve para objetos BDE y yo tengo en el origen tablas FoxPro. - He probado poner la propiedad "MaxRecords" del TADOQuery a 100 pero al hacer el bucle sobrepasa los 100 y sigue, o sea que me devuelve más registros de los que le pido. Total, que a los 25000 registros se para, da el "Data provider or other service returned an E_Fail status" y allí se queda, me graba 25000 registros y el resto me dice que me los coma. |
|
#7
|
||||
|
||||
|
Hola.
Ni idea de donde puede venir el Error. En todo caso si no puedes solucionarlo, sortealo. Es decir, copia los registros de 2000 en 2000. Cerrando y volviendo a abrir el Dataset con los datos originales, al llegar a los 2000 registros, aunque naturalmente, abriendo solo los registros que faltan por copiar (utilizando por ejplo, una variable que te indique el código de la clave primaria del último registro copiado). Saludos.
__________________
Marc Guillot (Hi ha 10 tipus de persones, els que saben binari i els que no). |
|
#8
|
||||
|
||||
|
A proposito... Si el runtime de foxpro esta instalado porque no usas las funciones de Fox? Puedes hacer es crear una automatizacion OLE (creo que es "VisualFoxPro.Application") y con DoCMD corres comandos de FoxPro. Es muho mas optimo asi...
__________________
El malabarista. |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
|