J'ai essayé depuis environ une semaine d'importer des données par programmation dans une table SQL Server 2008 à partir d'un fichier Microsoft Access .mdb. Je n'ai rien obtenu d'autre que des erreurs, et en résoudre une vient en révéler une autre. J'ai fait le fichier dans un serveur lié, et maintenant lorsque je tente de l'interroger avec:Impossible de se connecter au fichier MS Access à partir de SQL Server 2008
Select * from OPENQUERY(Importdata, 'Select * from [IMBPieceBC]')
Je reçois l'erreur:
OLE DB provider "Microsoft.Jet.OLEDB.4.0" for linked server "Importdata" returned message "Cannot open database ''. It may not be a database that your application recognizes, or the file may be corrupt.".
Msg 7303, Level 16, State 1, Line 1
Cannot initialize the data source object of OLE DB provider "Microsoft.Jet.OLEDB.4.0" for linked server "Importdata".
J'ai lu plusieurs suggestions à réassocier dll dans le registre , mais j'ai fait cela, et je reçois toujours l'erreur. Y a-t-il autre chose que je puisse faire pour y remédier, ou du moins comprendre ce qui ne va pas?
La migration des données vers une instance SQL Server n'est pas une option. Les fichiers mdb sont générés par un programme tiers, donc nous ne pouvons rien y faire.
Auparavant, ce problème était dû à des autorisations, pour moi, c'était aussi simple que d'exécuter mon service SQL Server Express connecté au compte système local, vous aurez besoin de quelque chose de mieux: http://blogs.msdn.com/ b/spike/archive/2008/07/23/ole-db-fournisseur-microsoft-jet-oledb-4-0-for-linked-serveur-null-retourné-message-unspecified-error.aspx – Fionnuala
@Remou L'erreur message dans votre lien était le message d'erreur que je recevais avant celui-ci. Je l'ai corrigé en modifiant certains paramètres, je ne me souviens plus de quoi et en redémarrant le serveur. Le service est déjà exécuté sous le compte LocalSystem. – SaintWacko
L'installation des pilotes gratuits MS Access ACE est-elle une option pour vous? http://www.microsoft.com/en-us/download/details.aspx?id=23734 – Fionnuala