He intentado varias formas para leer mi archivo dbf, lo último que he hecho es fijar una parpeta de trabajo temporal para ver si era que estaba basando el From para una ruta comleta y así tampoco funciona. Aquí les va el ejemplo por si pueden ver que está mal. Lo que me dice es que no se puede encontrar el objeto fulano.dbf o sea mi archivo.
Aquí les paso el método que me falla, importante señalar que los parámetros que le paso al contructor de la clase son correctos.
Código:
private DataTable leyendoDBF()
{
OdbcConnection obdcconn = new System.Data.Odbc.OdbcConnection();
obdcconn.ConnectionString = "Driver={Microsoft dBase Driver (*.dbf)};SourceType=DBF;SourceDB=" + rutadbf + ";Exclusive=No; NULL=NO;DELETED=NO;BACKGROUNDFETCH=NO;"; //{Microsoft dBase Driver (*.dbf)}
obdcconn.Open();
string currentDir = System.IO.Directory.GetCurrentDirectory();//
System.IO.Directory.SetCurrentDirectory(rutadbf);//
OdbcCommand oCmd = obdcconn.CreateCommand();
oCmd.CommandText = @"SELECT * FROM " + archivodbf; //"SELECT * FROM "+rutadbf + archivodbf "SELECT * FROM [" + rutadbf + archivodbf + "]"
DataTable dt1 = new DataTable();
dt1.Load(oCmd.ExecuteReader());
System.IO.Directory.SetCurrentDirectory(currentDir);//
obdcconn.Close();
return dt1;
}
Aquí la parte del constructor
Código:
public class LeeDBF
{
private string archivodbf;
private string rutadbf;
public LeeDBF(string rutadbf, string archivodbf)
{
this.archivodbf = archivodbf;
this.rutadbf = rutadbf;
}
....
Gracias