Visual Basic.NET - Problema con conexión a DBF

 
Vista:
sin imagen de perfil

Problema con conexión a DBF

Publicado por Guillermo (2 intervenciones) el 13/05/2015 08:57:24
Hola, espero me puedan ayudar, tengo unas tablas en formato DBF que normalmente manejo en Visual Foxpro 8, pero si las quiero abrir normalmente en VFP me sale el mensaje que las bases están corruptas y deben ser reparadas, este problema lo soluciono con la linea "SET TABLEVALIDATE TO 0" y el VFP abre ya las tablas.
Ahora, ando haciendo un programa en Visual Studio.net y al querer usar estas mismas bases (uso en la cadena de conexión el Provider:=VFPOLEDB.1, al querer hacer el select correspondiente me aparece el error de que la tabla está corrupta y hay que repararla antes de usarla. Hay alguna forma de poder usar estas tablas DBF en Visual Studio? Hay algún método parecido al SET TABLEVALIDATE TO 0?
Muchas gracias de antemano por cualquier ayuda que me puedan dar.
Saludos.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de giancarlo
Val: 377
Bronce
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Problema con conexión a DBF

Publicado por giancarlo (488 intervenciones) el 13/05/2015 18:51:45
pero al reparar no se guardan los cambios? o quizas te falte usar el comando pack o un copy to para que guardes la tabla correctamente? tu cadena de conexion es correcta?

si quieres usar fox pro, puedes usar asi tambien, pero si usas esto y luego la conexion como haces, me temo que demoraria un poco mas(tendria que abrir tu archivo 2 veces, para repararlo y usarlo). Puedes tambien ejecutar el comando de reparacion y luego COPY TO tblEstructura DELIMITED WITH "|"with "" para guardarlo como texto o CSV y cargar ese archivo y mostrarlo (yo hice asi, ademas los archivos de texto cargan rapidisimo), considera segun tu numero de registro

1
2
3
4
5
6
7
8
9
10
11
12
Dim foxpro As New Object
Try
	foxpro = CreateObject("visualfoxpro.application")
	For Each ele As String In comando
		foxpro.docmd(ele) 'aqui ejecutas tus comandos de foxpro
	Next
Catch ex As Exception
	MsgBox(ex.ToString)
Finally
	foxpro.quit()
	foxpro = Nothing
End Try
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar
sin imagen de perfil

Problema con conexión a DBF

Publicado por Guillermo (2 intervenciones) el 13/05/2015 21:54:14
Muchas gracias, fue de muchísima ayuda. Me resultó el crear el objeto en visual.net. Genial! Gracias de nuevo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar