Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   Conectar a DB prehistoricas de VFox (https://www.clubdelphi.com/foros/showthread.php?t=74418)

waly2k1 17-06-2011 20:51:15

Conectar a DB prehistoricas de VFox
 
Hola muchachos!
Escribo solicitando ayuda acerca de conexion a DBF de Visual FOX desde Delphi. Intento hacer una interfaz de migracion, no es que tenga pensado
usar esas DBFs.
El problema surge al conectarse con las DBF ya que busca un archivo .DBC, supuestamente algo que le dice a VFox que esa "carpeta" es una base de datos, pero no existe, tengo la carpeta "Datos" nada mas.
La conx me informa que está activa en tiempo de diseño, pero al intentar activar una query no me deja, apareciendo el msg Cannot Open File Datos.dbc
Aclaro que uso Delphi 2010 y estoy con objetos ADO. Si alguien posee un ejemplo de conx con dichas DBFs por favor me lo muestra, que drivers usar?, etc. etc.

O si conocen un objeto de acceso a datos para estas "tablas" me informa tambien.

Saludos y nuevamente muchas gracias!
Walter

Chris 17-06-2011 21:28:39

Con ADO y Delphi necesitarás tener instalado Microsoft OLE DB Provider for Visual FoxPro 9.0.

Por otro lado, VFP utiliza dos tipos de Base de Datos. Una basada en directorios y otra en un sólo archivo. La primera es la forma en que las tablas y sus índices reciden dentro de un directorio específico acampañadas. La segunda, es en que todos las tablas están almacenadas dentro de un sólo archivo.

Una vez claro de tu modelo de datos, configura el provedor ODBC como lo harías con cualquier otro.

Saludos,
Chris

waly2k1 17-06-2011 21:37:11

Conectar a DBFs
 
Bien Chris, gracias por tu rta. pero continuo en la misma
el oledb ya lo tengo instalado y la misma version que me sugieres.
Y como decia enteriormente no poseo un archivo .dbc, sino las DBFs
en una carpeta Datos con las cuales no puedo conectarme.
Como configuro que deseo acceder a las tablas libres y no a una estructura
de base de datos?, al menos no veo donde pueda hacer eso.
Tampoco es por problemas de permisos al directorio.

Estoy con Win7 64, Delphi 2010 y las DBF supongo de VFOX 9, aunque no varia en nada con versiones anteriores.

Saludos y muchas gracias!

oscarac 17-06-2011 21:48:44

y puedes colocar mas o menos como es que te estas conectando a las bases de datos?

waly2k1 17-06-2011 21:53:34

Como conecto
 
Código:

Provider=VFPOLEDB.1;Data Source=J:\SISTEMA\DATOS;Mode=Share Deny None;User ID=Admin;Mask Password=False;Cache Authentication=False;Encrypt Password=False;Collating Sequence=GENERAL;DSN="";DELETED=True;CODEPAGE=1252;MVCOUNT=16384;ENGINEBEHAVIOR=90;TABLEVALIDATE=3;REFRESH=5;VARCHARMAPPING=False;ANSI=True;REPROCESS=5;
Esto es lo q me genera el asistente de conx, mi cadena sería una cosa así:
Código:

adoConx.ConnectionString :='Provider=VFPOLEDB;Data Source=' + 'J:\SISTEMA\DATOS' + ';Password=""';
Puebo con VFPOLEDB y VFPOLEDB.1 y es lo mismo
la Conx en tiempo de diseño me da connected=true, pero las consultas no se activan.

Saludos y muchas gracias!

waly2k1 17-06-2011 23:22:12

Posible solucion
 
Por lo que alcanzo a ver Datos.dbc es la estructura de la base de datos,
pero no tengo ese archivo y cada tabla está asociada a ese datos.dbc, por eso me lo pide. Debe ser un archivo de texto donde se almacena los nombres de los objetos de la BD y quizas posea seguridad asociada, nose
desconozco totalmente, ya que hace años que trabajo con herramientas "modernas".

Veo la manera de conseguirlo o si alguien sabe como generarlo le estaría muy agradecido

Saludos y muchas gracias!
Walter

oscarac 18-06-2011 00:16:47

son Dbfs Simples?

osea..

Plan.DBF
Saldos.DBf

o son otras bases de datos

waly2k1 18-06-2011 04:00:21

DBF simples
 
Hola!
Son DBFs simples las q tengo en una carpeta llamada Datos, pero a su vez pertenecen a una BD llamada Datos.bcd que no me pasaron y todas las tablas estan asociadas a esa Datos.bcd, edité una tabla en exa y sí aparece
..\Datos.bcd, con lo cual no insistí más en poder abrir las tablas. Veo si
consigo eso o borro la asociación desde una aplicación, por lo menos para
poder trabajar.
Saludos y muchas gracias por tu tiempo!
Walter

newtron 18-06-2011 08:20:59

Hola.

Le has echado un vistazo a este link?

http://www.clubdelphi.com/foros/show...ghlight=foxpro

Saludos

waly2k1 18-06-2011 10:27:17

Link verificado
 
Hola Newtron,
miré recién ahora el link que me sugieres, pero sí, no hace más de lo que
estoy haciendo. La cadena de conx cambia algunos parametros pero el
error persiste. Son cosas de VFox nada más, ya no creo que sea un error
mio o de conexión. Hace 4 o 5 dias que vengo renegando con esto hasta
que me convencí de que no se puede acceder a dichas DBFs de la manera
convencional, sino ver la manera de generar o copiar ese archivo .dbc,
o bien ver la forma de desvincular las tablas y sacarme esa dependencia.

En fin muchas gracias a todos por el tiempo que me dedicaron.
Saludos y seguiré intentando de la otra manera.
Walter

waly2k1 18-06-2011 18:43:43

Problema solucionado
 
Me pasaron el/los archivos que estaban en la carpeta superior y abrí normalmente
las DBFs con ADO como debería ser, es una porqu., pero bueh al fin pude. Si hay
algo que nunca me agradó de la programación MS es la dependencia que nos causa,
ya sea DLL, OCX y un montón de carencias del lenguaje que hace que recurramos a
controles ActiveX de distintos proveedores y el problema en la implementación de
nuestro soft después.

Bueno es todo, muchas gracias a todos y espero que le sirva a alguien más
que tenga que pasar por una situación similar.

Saludos!
Walter


La franja horaria es GMT +2. Ahora son las 01:12:57.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi