Hola a todos.
Esto va a ser un poquito largo, pero creo que hace falta que se haga una
explicación más específica, aunque superficial. He trabajado con Visual
FoxPro (VFP) por muchos años y hasta hoy le doy manutención a algunos
sistemas que he hecho con ese lenguaje en su versión 9.0.
En verdad, VFP maneja el tema de las tablas en dos formas básicas:
1. Tablas libres (prácticamente igual a los otros sistemas xBase).
Estas casi ya no son utilizadas por los desarrolladores que usan VFP.
2. Tablas que pertenecen a una "base de datos".
Las extensiones utilizadas por los archivos que manejan datos son:
*.dbf - como en todos los lenguajes xBase, son los archivos de datos
propiamente dichos.
*.fpt - son los archivos de campos "memo". Llevan el mismo nombre de
la tabla principal y están "conectados" a la tabla de datos por
medio de su cabecera.
*.cdx - son los archivos de índices compuestos (que pueden manejar
más de un ordenamiento para la misma tabla por medio de etiquetas) y
también llevan el mismo nombre del DBF, además de también estar
"conectados" a la tabla de datos por medio de su cabecera.
*.idx - son los archivos de índices independientes (que solo
soportan un tipo de ordenamiento y tienen que ser abiertos
manualmente), actualmente prácticamente no son utilizados.
Cuando digo "conectados por medio de la cabecera" quiero decir que no se
puede abrir dichos archivos independientemente y que la tabla a la que
pertenecen no podría ser abierta correctamente, si los mismos no están
presentes.
Cuando se crea una "Base de datos" de Visual FoxPro, se generan 3
archivos a modo de repositorio que tienen las siguientes extensiones:
*.dbc - es el archivo de datos que reúne las definiciones de todas
las tablas, campos, vistas, etc. que pertenecen a la base de datos.
*.dct - son los archivos de campos "memo" de la base de datos.
*.cdx - son los archivos de índices de la base de datos.
En realidad NO ES una base de datos como las normalmente conocidas,
sigue usando las tablas DBF y todo lo demás, por lo que carece de una
mayor seguridad específica.
Sin embargo, las tablas que son marcadas como pertenecientes a una base
de datos pueden ser manejadas como las tablas de cualquier otra base de
datos. Es decir:
- Sus campos pueden tener nombres largos (hasta 255 caracteres) en
tablas libres su límite es 10 caracteres.
- Se pueden agregar descripciones de campos a modo de diccionario de datos.
- Se pueden crear Reglas de Integridad, Claves primarias, Campos
autoincrementables, etc., etc., etc.
Por otro lado, dichas tablas también quedan "conectadas por su cabecera"
al archivo repositorio de la base de datos.
Tengo entendido que existen drivers ODBC y OLE DB que permiten el acceso
a esas "Bases de Datos" desde otros lenguajes. Infelizmente no tengo a
mano ningún link que te pueda ayudar, pero creo que si buscas en San
Google los encontrarás.
Espero haber aclarado algo. Cualquier otra duda, es solo preguntar.
Respecto a conectarse desde Python... Lo siento, yo estoy aun muy crudo
en Python como para ayudarte con eso. Aun estoy en el "BeABa" del
lenguaje, pero estoy estudiando de a poquito para llegar a conocerlo un
poco más... =)
Saludos aclaratorios.
Ricardo De Castro Aquino
Asunción - Paraguay
El 01/10/2012 03:07, Carlos Latorre escribió:
Por si no estas familiarizado con las bbdd dBase:
Los datos están distribuidos en ficheros de la siguiente forma:
- *.dbf - los ficheros de datos (los importantes)
- *.dbt - contenido de los campos "memo" (estos ficheros, de
extensión dbt y el mismo nombre que el pdf son muy importantes, pues
sin ellos no se abre correctamente el .pdf, guardan el contenido de
los campos "memo", equivalente al text de sql)
- *.ndx ó *.ntx - ficheros de indice (se pueden reconstruir a partir
de los datos) - tienen una importancia relativa, pues deben abrirse y
utilizarse de forma explicita, por lo que, si no conoces la aplicación
de antemano, tal vez sea mejor que crees y utilices los que vayas
necesitando.
Además puede haber mas ficheros, propios de foxpro, conteniendo
formularios, vistas, etc, ... pero estos son muy dependientes.
Saludos,
Carlos L.
El 1 de octubre de 2012 08:54, Carlos Latorre
mailto:clatorrega@gmail.com>> escribió:
Fox Pro utiliza bases las antiguas bases de datos dBase
(http://es.wikipedia.org/wiki/DBase), actualmente conocidas como
xBase (http://es.wikipedia.org/wiki/XBase).
Yo trabaje con ellas mucho en el pasado, utilizando Clipper, pero
de eso hace ya casi 20 años.
Tras una mirada rápida por S. Google aparecen un par de librerías
en el sourceforge:
- dbfpy (http://dbfpy.sourceforge.net/ )
- xbase-py (http://sourceforge.net/projects/xbase-py/)
Espero que te sea de ayuda para comenzar,
Saludos:
Carlos
El 1 de octubre de 2012 06:51, aj gutierrez mailto:neo...@gmail.com>> escribió:
Buenas noches a todo