Si vous cherchez à vous connecter à une base de données MS Access (.mdb, .mde, accdb) depuis SQL Serveur via la méthode du « Serveur Lié » voila un petit script qui vous permettra de le faire très facilement

EXEC sp_addlinkedserver
@server = N’NomDeMonServeurLié’,
@provider = N’Microsoft.Jet.OLEDB.4.0′,
@srvproduct = N’Access’,
@datasrc = N’NomDeMaBaseDeDonnéesAccess.mdb’,
@provstr = N’;PWD=MotDePasseDeVotreBaseDeDonnées’

Les champs suivants peuvent contenir n’importe quel texte :

  • @server NomDeMonServeurLié : Exemple « BaseRH »
  • @srvproduct Access : Exemple  « Access2007″

Les champs suivants doivent contenir des valeurs exactes :

  • @datasrc  NomDeMaBaseDeDonnéesAccess.mdb : Chemin exacte aù est localisé la base de données MsAccess, exemple : « D:msaccessrhbaserh2012.mdb »
  • @provstr = N’;PWD=MotDePasseDeVotreBaseDeDonnées’ : Mot de passe si votre base est verrouillée. Si ce n’est pas le cas vous pouvez supprimer cette ligne du Script.

Remarques : Vous pouvez rencontrer de multiple problèmes de connexion entre SQL Serveur et une Base de Données Ms ACCESS. Dans le doute faites un essai sur une machine sur laquelle vous avez installé une version 32 bits de SQL Serveur (Par exemple la version SQL Serveur Express 2012  http://www.microsoft.com/en-us/download/details.aspx?id=29062 )

Il est également déconseillé d’utiliser un serveur/pc avec Microsoft Office installé en mode 64bits. Vous ne pouvez pas mélanger non plus, semble t-il, un SQL Serveur 64Bits avec un Office 32bits.

Si Access n’est pas installé sur le serveur SQL vous devez installer également les Drivers Ms Access 2007 Office System Driver: Data Connectivity Components

Dans la console d’exploitation de votre serveur SQL vous devez activer les options suivantes au niveau du driver Microsoft.ACE.OLEDB.12.0 en cochant « Allow in Process » et « Nested Queries »

N’oubliez pas non plus de vérifier que l’instance SQL a bien les droits d’accéder au dossier dans lequel se situe votre base de données. Sinon, changer les ACL du dossier.

connecter une base Access sur SQL Server

connecter une base Access sur SQL Server #2