connection base de données dbase
Bonjour, j'essaye de me connecter à une base de données de type dbase avec le code ci-contre :
Code:
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 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
| using System;
using System.Data;
using System.Data.OleDb;
using System.Xml.Serialization;
namespace ConsoleApplication1
{
class Class1
{
[STAThread]
static void Main(string[] args)
{
#if USINGPROJECTSYSTEM
string strAccessConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=..\\..\\Societe.DBF;Extended Properties=dBASE IV;User ID=Admin;Password=";
#else
string strAccessConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=test.DBF; Extended Properties=dBASE IV";
#endif
string strAccessSelect = "SELECT * FROM Categories";
// Create the dataset and add the Categories table to it:
DataSet myDataSet = new DataSet();
OleDbConnection myAccessConn = null;
try
{
myAccessConn = new OleDbConnection(strAccessConn);
}
catch(Exception ex)
{
Console.WriteLine("Error: Failed to create a database connection. \n{0}", ex.Message);
Console.Read();
return;
}
try
{
OleDbCommand myAccessCommand = new OleDbCommand(strAccessSelect,myAccessConn);
OleDbDataAdapter myDataAdapter = new OleDbDataAdapter(myAccessCommand);
myAccessConn.Open();
myDataAdapter.Fill(myDataSet,"Categories");
}
catch (Exception ex)
{
//il rentre toujours dans ce catch, à cause du open
Console.WriteLine("Error: Failed to retrieve the required data from the DataBase.\n{0}", ex.Message);
Console.Read();
return;
}
finally
{
myAccessConn.Close();
}
}
}
} |
Sachant que la table test.DBF vient juste d'être crée, à la main.
Ca compile bien, mais à l'exécution, j'ai toujours le message d'erreur :
Citation:
"'test.DBF' n'est pas un chemin d'accès valide. Assurez-vous que le nom du chemin d'accès est correct et qu'une connexion est établie avec le serveur sur lequel réside le fichier."
Or , si le chemin n'était pas valide, il aurait dû rentrer dans le premier catch, non ?
Bref, si quelqu'un pouvait tester le code au dessus, et me dire ce qui cloche, parce que moi, je ne vois pas,...:?
Merci !!!