J'essaie de lire un fichier dBase III .dbf en utilisant .NET et Winforms et rien de ce que j'ai essayé ne semble fonctionner. J'ai essayé quatre méthodes de connexion différentes et chacun d'entre eux se bloque sur la méthode Open
. Pas d'exception, pas de timeout, pas de message d'évènement, rien. Le formulaire est juste là. Des idées sur ce qui pourrait être faux?.NET Connexion au fichier dBase .dbf
Voici les méthodes que j'ai essayées. Le fichier .dbf est à d: \ db:
private void read1()
{
string c = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=d:\\db\\;Extended Properties=dBASE III";
OleDbConnection conn = new OleDbConnection(c);
conn.Open();
MessageBox.Show("ok");
conn.Close();
}
private void read2()
{
System.Data.Odbc.OdbcConnection oConn = new System.Data.Odbc.OdbcConnection();
oConn.ConnectionString = @"Driver={Microsoft dBase Driver (*.dbf)};SourceType=DBF;SourceDB=D:\db;Exclusive=No; Collate=Machine;NULL=NO;DELETED=NO;BACKGROUNDFETCH=NO;";
oConn.Open();
System.Data.Odbc.OdbcCommand oCmd = oConn.CreateCommand();
oCmd.CommandText = @"SELECT * FROM D:\db\Poi.dbf";
DataTable dt = new DataTable();
dt.Load(oCmd.ExecuteReader());
MessageBox.Show(dt.Rows.Count.ToString());
oConn.Close();
}
private void read3()
{
System.Data.Odbc.OdbcConnection oConn = new System.Data.Odbc.OdbcConnection();
oConn.ConnectionString = @"Driver={Microsoft dBASE Driver (*.dbf)};DriverID=277;Dbq=d:\db;";
oConn.Open();
MessageBox.Show("ok");
oConn.Close();
}
private void read4()
{
System.Data.Odbc.OdbcConnection oConn = new System.Data.Odbc.OdbcConnection();
oConn.ConnectionString = @"Driver={Microsoft dBase Driver (*.dbf)};datasource=d:\db\";
oConn.Open();
System.Data.Odbc.OdbcCommand oCmd = oConn.CreateCommand();
oCmd.CommandText = @"SELECT * FROM D:\db\Poi.dbf";
DataTable dt = new DataTable();
dt.Load(oCmd.ExecuteReader());
MessageBox.Show(dt.Rows.Count.ToString());
oConn.Close();
}
Je veux aider, mais où je trouve un DBF déposer ce jour? =) –