Tablas DBF de VFP

Post Reply
User avatar
jnavas
Posts: 399
Joined: Wed Nov 16, 2005 12:03 pm
Location: Caracas - Venezuela
Contact:

Tablas DBF de VFP

Post by jnavas »

Saludos
Necesito migrar datos de tablas DBF/CDX creadas con FOXPRO


SELECT A
USE (cFile) VIA "DBFCDX"

Genera error de corrupcion

Tambien
SELECT A
USE (cFile) VIA "ADS"

Genera error 6080

Agradecido su colaboracion
Probare por la VIA ODBC
User avatar
ruben Dario
Posts: 986
Joined: Thu Sep 27, 2007 3:47 pm
Location: Colombia

Re: Tablas DBF de VFP

Post by ruben Dario »

Saludos.
Una vez hice una prueba y hice la conexion de 2 maneras. Te anexo codigo

Code: Select all

Local oCn,cQuery,cPass,cDB,cUser,oError,String ,oRs,b
cUser := " "
cDB   := "PRUEBA.DBC"
cPass := " "

String :=  "Driver={Microsoft Visual FoxPro Driver};SourceType=DBC;SourceDB=" + cDB + ";Exclusive=No;NULL=NO;Collate=Machine;BACKGROUNDFETCH=NO;DELETED=NO" 

//Otra manera tambien funciona
//String :=  "Provider=vfpoledb;Data Source=" + cDB + ";Collating Sequence=machine;"


/* funciona
oCn:Open("Provider=Advantage OLE DB Provider;User ID="+cUser +;
                      ";Password="+cPass+";Data Source="+ cDB +";TableType=ADS_VFP;"+;
                      "Advantage Server Type=ADS_LOCAL_SERVER;")
*/


      oCn        := TOLEAUTO():New("ADODB.connection")
      oCn:CursorLocation    := adUseClient
      oCn:Mode              := adModeShareDenyNone

      oCn:Open(String)
      cQuery:= "select * from clase"

    WITH OBJECT oRs := TOleAuto():New("adodb.recordset")
             :CacheSize := 50
             :CursorLocation := adUseClient
             :CursorType     := adOpenStatic
             :LockType       := adLockPessimistic
             :Open( cQuery , String,1, 3 )

    END

   b:=1
   oRs:MoveFirst()
   DO WHILE .NOT. oRs:EOF()
      ?oRs:Fields("clase"):value+" "+oRs:Fields("descripcio"):value
      b++
      oRs:MoveNext()
   ENDDO
    oRs:Close();oCn:Close() 

 
Ruben Dario Gonzalez
Cali-Colombia
rubendariogd@hotmail.com - rubendariogd@gmail.com
User avatar
jnavas
Posts: 399
Joined: Wed Nov 16, 2005 12:03 pm
Location: Caracas - Venezuela
Contact:

Re: Tablas DBF de VFP

Post by jnavas »

Ruben Dario
Saludos y buen dia
logré solucionar mediante:

1. Instale ODBC de ADS
2. Cree un DSN
3. Hice las consultas SQL desde MSQUERY de lo que necesitaba y como lo requería, con excel
4. Desde mi aplicación leo el archivo excel y logré importar los datos de manera rápida y comoda.

Agradecido por los buenos oficios, tomare en cuenta tu aporte para _.
hmpaquito
Posts: 1200
Joined: Thu Oct 30, 2008 2:37 pm

Re: Tablas DBF de VFP

Post by hmpaquito »

¿ Matando _ a cañonazos ?

Code: Select all

SET DBFLOCKSCHEME TO

Code: Select all

    
    // Constant Value Description
    DB_DBFLOCK_DEFAULT 0 Default locking scheme
    DB_DBFLOCK_CLIP 1 Clipper 5.2 locking scheme
    DB_DBFLOCK_CL53 2 Clipper 5.3 locking scheme
    DB_DBFLOCK_VFP 3 Visual FoxPro locking scheme
    DB_DBFLOCK_CL53EXT 4 Emulated shared locking
    DB_DBFLOCK_XHB64 5 Locking scheme for files > 4GB
User avatar
jnavas
Posts: 399
Joined: Wed Nov 16, 2005 12:03 pm
Location: Caracas - Venezuela
Contact:

Re: Tablas DBF de VFP

Post by jnavas »

Saludos y Gracias,
Puedes enviarme programa ejemplo, estos son casos muy puntuales para migración de datos,
hmpaquito
Posts: 1200
Joined: Thu Oct 30, 2008 2:37 pm

Re: Tablas DBF de VFP

Post by hmpaquito »

Aunque nunca he traspasado información desde un .dbf vfp, lo que quise decir es que se puede abrir una .dbf vfp seteando el SET indicado.
User avatar
carlos vargas
Posts: 1421
Joined: Tue Oct 11, 2005 5:01 pm
Location: Nicaragua

Re: Tablas DBF de VFP

Post by carlos vargas »

Code: Select all

#include "dbinfo.ch"

procedure main()
  SET DBFLOCKSCHEME TO DB_DBFLOCK_VFP
  USE (tabla_fox_pro) NEW
return

 
Salu2
Carlos Vargas
Desde Managua, Nicaragua (CA)
Post Reply