Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

Acceso a .dbf desde sql

Estas en el tema de Acceso a .dbf desde sql en el foro de Bases de Datos General en Foros del Web. Os planteo mi problema a ver si podeis ayudarme. Gracias por adelantado. Tengo una base de datos en un archivo .dbf que se modifica a ...
  #1 (permalink)  
Antiguo 27/04/2004, 04:09
 
Fecha de Ingreso: abril-2004
Mensajes: 48
Antigüedad: 20 años
Puntos: 0
Acceso a .dbf desde sql

Os planteo mi problema a ver si podeis ayudarme. Gracias por adelantado.
Tengo una base de datos en un archivo .dbf que se modifica a diario desde el programa que usa la empresa. La web usa algunos datos de esa bd pero en sql server.
Estoy haciendo una mini aplicación para que el administrador de la web pueda actualizarla en internet.
La idea era hacer una instrucción sql que accediera a la tabla del archivo .dbf mediante una consulta a base de datos externa y que insertara los registros en la tabla de la bd activa, o sea, la de sql server.
El problema está en que me sale un mensaje de error que dice que no reconoce el formato .dbf
Alguien sabe como acceder a una tabla .dbf, y si es como base de datos externa mejor todavia.

PD. No puede usarse el ODBC por que cuando esté en internet eso no funcionaría. Muchas gracias.
  #2 (permalink)  
Antiguo 30/04/2004, 03:58
 
Fecha de Ingreso: abril-2004
Mensajes: 48
Antigüedad: 20 años
Puntos: 0
Diriase que después de todos estos días, realmente nadie sabe hacerlo o no se puede.

Igualmente, muchas gracias a todos aquellos que han leído el post y se han quedado como yo.

Seguiré luchando por mi cuenta. Si lo descubro ya lo notificaré por aquí.
  #3 (permalink)  
Antiguo 03/05/2004, 12:52
Avatar de enunez810  
Fecha de Ingreso: junio-2003
Ubicación: Caracas, Venezuela
Mensajes: 98
Antigüedad: 20 años, 10 meses
Puntos: 0
re

Hola que tal fijate yo he tenido el mismo problema pero en ambiente Cliente servidor

te dare las formas de como lo he solucionado .....


hay veces que se utilizan ODBC o Provider de conexxion para acceder a los datos y en el caso de los .Dbf (que por cierto son una cochinadas ) existen de dos tipos los creados con FOX pro y los creados con DBASE

Debes estar seguro como fueron creado estos archivos por que si fueron creados con fox pro y los accesas con un ODBC o provider de Dbase no reconoce el formato y viceversa me entiendes ?????

por otro lado los dbf son tablas libres y poseen Indices libres que son EXTREMADAMENTE FACILES de corromperse (por lo general los Indices son archivos .cdx) si estos archivos estan corruptos e intentas accesar esa tabla con ellos tambien te dara un error de formato

espero puedas resolver tus problemas....
  #4 (permalink)  
Antiguo 04/05/2004, 01:52
 
Fecha de Ingreso: abril-2004
Mensajes: 48
Antigüedad: 20 años
Puntos: 0
En primer lugar, muchas gracias por contestar. Ya había perdido toda esperanza de que alguien se hubiera encontrado con una situación similar a la mía.

Por lo que me han dicho, porque yo sólo implanto la base de datos en internet y no soy el administrador de la misma, es un .dbf hecho con FoxPro pero en una versión antigua, con entorno MS-DOS.

Probablemente ese era el problema, porque creía que el formato era el mismo e intentaba realizar la conexión como si fuera DBASE.

Igualmente no sé como sería la instrucción SQL para abrir la bd de FoxPro. Tú lo sabes?

Si no, cómo lo hiciste tú?
  #5 (permalink)  
Antiguo 04/05/2004, 06:11
Avatar de enunez810  
Fecha de Ingreso: junio-2003
Ubicación: Caracas, Venezuela
Mensajes: 98
Antigüedad: 20 años, 10 meses
Puntos: 0
re

Bueno la verdad es que yo tuve esos problemas trabajando con Visual Basic no se en que entorno estas trabajando

La connecion en VB (al igual que en ASP) la logras poniendo un objeto de ADO de tipo Conexion

para conectarse a la BD de DBf tipo DBASE

Dim strConnect As String
strConnect = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\rutadelastablas;Extended Properties=DBASE IV;;"
Set gadoConnDBF = New ADODB.Connection
gadoConnDBF.Open strConnect


para conectarse a una de tipo foxpro

Dim strConnect As String
strConnect = " Driver={Microsoft Visual FoxPro Driver}; " & _
" SourceType=DBF; " & _
" SourceDB=C:\rutadelastablas; " & _
" Exclusive=No "
Set gadoConnDBF_FP_VAR = New ADODB.Connection
gadoConnDBF_FP_VAR.Open strConnect

y luego haces tus consultas diciendole el nombre de las tablas
.dbf

espero que te sirva!!!!!!!!!
  #6 (permalink)  
Antiguo 05/05/2004, 01:01
 
Fecha de Ingreso: abril-2004
Mensajes: 48
Antigüedad: 20 años
Puntos: 0
Muchisimas gracias por tu ayuda. Lo provare y ya te diré a ver que tal.

Estoy programandolo en ASP, pero con VBScript, así que supongo que también funcionará. Originalmente mi idea era hacerlo desde una consulta SQL pero da igual, lo haré como me has indicado a ver que tal funciona.

Sea el resultado que tenga ya te lo comunicaré
  #7 (permalink)  
Antiguo 06/05/2004, 01:12
 
Fecha de Ingreso: abril-2004
Mensajes: 48
Antigüedad: 20 años
Puntos: 0
Bueno, ya lo he probado. Le tuve que hacer unos cuantos cambios por que como te dije no trabajo desde visual basic, así que he tenido que cambiar algo.
Ahora el problema es que me dice que el archivo no existe
Hice incluso una copia directamente en c:\ por si acaso era un problema de la ruta y tampoco. Lo mejor de todo es que el nombre del archivo lo coge bien por q me decía que ESE archivo no existe... No lo entiendo...
Lo que voy a hacer es partiendo de tu idea buscar por ahi a ver que encuentro.
Muchas gracias por todo.
  #8 (permalink)  
Antiguo 06/05/2004, 06:47
Avatar de enunez810  
Fecha de Ingreso: junio-2003
Ubicación: Caracas, Venezuela
Mensajes: 98
Antigüedad: 20 años, 10 meses
Puntos: 0
Toma en cuenta lo siguiente mira en tu STRING de coneccion en la parte que te dice ruta de las tablas solo pon la ruta no ningun archivo

o sea la ruta debe ser esta:
"C:\directorio\"
NO debe ser
"C:\directorio\tabla.dbf"

y cuando hagas un query lo haces asi

"SELECT * from tabla.dbf where campo=1" etc etc

Asi te debe funcionar

si no es asi pon el codigo a ver ok!!!!
  #9 (permalink)  
Antiguo 07/05/2004, 01:28
 
Fecha de Ingreso: abril-2004
Mensajes: 48
Antigüedad: 20 años
Puntos: 0
Eres mi lider jeje
Ya me ha funcionado perfectamente. Efectivamente, el fallo estaba en que no solo ponía la ruta sino también el nombre del archivo.
Muchisimas gracias por tu colaboración. Si necesitas cualquier cosa y puedo ayudarte...

  #10 (permalink)  
Antiguo 07/05/2004, 12:04
Avatar de enunez810  
Fecha de Ingreso: junio-2003
Ubicación: Caracas, Venezuela
Mensajes: 98
Antigüedad: 20 años, 10 meses
Puntos: 0
Okey benjact mira por lo que veo tu eres mas que nada programador web y yo por lo general yo lo que hago son sistemas cliente servidor como en VB y oracle

pero no me vendria NADA mal una ayudita en la web ya que estoy en proceso de desarrollar cosas en ASP etc

si me puedes dar tu correo para tenerte en mi lista de contactos y messenger

Saludos que bueno que te funciono lo de la coneccion
  #11 (permalink)  
Antiguo 11/05/2004, 07:43
Avatar de enunez810  
Fecha de Ingreso: junio-2003
Ubicación: Caracas, Venezuela
Mensajes: 98
Antigüedad: 20 años, 10 meses
Puntos: 0
Heyyyy

Sorry benjact no me puedes dar tu correo para tenerlo enmi lista ???????????
  #12 (permalink)  
Antiguo 12/05/2004, 01:06
 
Fecha de Ingreso: abril-2004
Mensajes: 48
Antigüedad: 20 años
Puntos: 0
No te he llegado el privado o email (no me acuerdo qué era) que te envié???
Te daba mi dirección... que raro...
Vuelvo a intentarlo de las dos formas, ok?
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:07.