I'm trying to create a linked server to access an old MS Access database (.mdb file) on SQL Server 2012, but I always get the error 7399 (authentication denied). So I tested with another mdb file that has no password and, in this case, the linked server worked perfectly. I've already given all permissions to the file's folder.

I tried to deny the inprocess in the ACE.OLEDB driver, but, if I do that, I got a new error

7302 (SQL Server could not create a driver instance to this linked server).

I can't see what I'm doing wrong. I've searched about this a lot, and I still didn't find out a solution.

  • Changing permissions on the folder don't make SQL Server magically know the password. On the linked server configuration dialog in Management Studio, is there a place on the Security tab to enter a password? What about a Provider string that includes password=xxxxxx;? – Aaron Bertrand Aug 17 '15 at 20:49
  • I see. I changed the permissions on the folder beacause the Access creates another file to have exclusive access to the file. There's a password field, but it's not working when the file has a pass. I'm trying to create the linked server on the SQL Server dialog, but using the sp_addlinkedserver also does not work. – Keoma Borges Aug 18 '15 at 12:32

The problem was the file. I got a Windows XP virtual machine that has the MS Access 95. So I could open the file to delete the current password and change groups permissions. Now the linked server works.

It seems neither Microsoft.ACE.OLEDB.12.0 nor Microsoft.Jet.OLEDB.4.0 can deal with MS Access 95 security policy. But I really don't know why.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.