Bonjour, j'essaye de me connecter à une base de données de type dbase avec le code ci-contre :

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
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 :
"'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 !!!