Bonjour,
je travaille actuellement sur un petit projet ayant pour but de récupérer les données d'un fichier DBase IV dans un DataSet en C#.
Cela fonctionne correctement cependant lorsque je suis confronté à un fichier DBase IV avec un Encryption Password plus moyen de récupérer les données de ce fichier.
Il me renvoie alors cette erreur : "C:\Users\UserData\users.dbf is not a table"
J'ai fait énormément de recherches et pas moyen de trouver comment lui passer ce mot de passe pour qu'il ouvre le fichier :/
Voici mon code utilisé :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
 
                string constr = @"Provider=VFPOLEDB;Data Source=C:\Users\UserData\;Extended Properties=dBASE IV;Password=MyPass;";
                DataSet ds = new DataSet();
                using (OleDbConnection con = new OleDbConnection(constr))
                {
 
                    var sql = @"select * from users.dbf";
                    OleDbCommand cmd = new OleDbCommand(sql, con);
                    con.Open();
                    OleDbDataAdapter da = new OleDbDataAdapter(cmd);
                    da.Fill(ds);
                    con.Close();
                }
 
                foreach(DataRow row in ds.Tables[0].Rows)
                {
                    foreach(DataColumn col in ds.Tables[0].Columns)
                    {
                        Console.WriteLine(row[col].ToString());
                    }                 
                }
 
                }
                catch (OleDbException ex)
                {
                    Console.WriteLine(ex.Message);
                }
Si vous avez une idée je suis preneur