2010-09-03 55 views
0

Je suis en train de quelque chose comme ceci:Comment manipuler des fichiers .dbf en utilisant C#?

 string pathFiles = Path.Combine(Application.StartupPath, "DB"); 
     string strconn = "Driver={Microsoft dBASE Driver (*.dbf)};DriverID=277;" + 
       "Dbq="+pathFiles+";";      
     OdbcConnection odbconn = new OdbcConnection(strconn); 
     odbconn.Open(); 

et je reçois cette exception

ERROR [IM002] [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified 

Le problème est que le même code passe bien sur windiws XP, Visual Studio 2010, Office 2007 et ne fonctionne pas sur windows 7 64bit, studio visuel 2008, bureau 2010. Je ne sais vraiment pas whatvis la différence, je suis nouveau pour gagner 7. Quelques conseils seraient grands.Merci.

+1

La machine Windows 7 64 bits? –

+0

oui, Windows 7 est 64 bits – jane

+0

Pour suivre w/commentaire de Mike, vous pouvez vérifier et voir si vous obtenez un comportement différent si vous définissez les paramètres de construction de votre plate-forme cible de projets de tout processeur à x86. Certains pilotes db n'existent pas dans une plate-forme 64 bits. –

Répondre

0

Pour ce que ça vaut, je manipule les fichiers dBase en utilisant la connexion suivante sur Vista et Windows 7. Je définis toujours la sortie cible comme x86.

using (OleDbConnection connection = new OleDbConnection(string.Format("Provider=Microsoft.JET.OLEDB.4.0;" + 
    "Data Source={0};Extended Properties=dBase IV;", Path.Combine(Environment.CurrentDirectory, OutputFolderName)))) 
{ 
    //.... 
    //.... 
} 

Le nom du dossier de sortie est juste le répertoire où les fichiers DBase dans lesquels j'écris ou que je lis.