Hi,
I am trying to set up a linked server in SQL Server 2008 to a MS Access 2003 database that is protected by both a workgroup username and password, as well as a database password. It also uses its own system database (system.mdw)
I used the SQL Server template, which is pretty much identical to the procedure I find by Googling and on Books Online, but added the @provstr parameter to sp_addlinkedserver, since there are no parameters for both the workgroup and database passwords or the system database:
EXEC sp_addlinkedserver
@server = N'nhms',
@provider = N'Microsoft.Jet.OLEDB.4.0',
@srvproduct = N'OLE DB Provider for Jet',
@datasrc = N'C:\pathto\mydb.mdb',
@provstr = N'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\pathto\mydb.mdb;Jet OLEDB:System Database=C:\pathto\system.mdw;User ID=xxx;Password=yyy;Jet OLEDB:Database Password=zzz;'
GO
-- Set up login mapping using current user's security context
EXEC sp_addlinkedsrvlogin
@rmtsrvname = N'nhms',
@useself = N'TRUE',
@locallogin = NULL,
@rmtuser = N'xxx',
@rmtpassword = N'yyy'
GO
When I test the connection I get the following message:
OLE DB provider "Microsoft.Jet.OLEDB.4.0" for linked server "nhms" returned message "Could not find installable ISAM.".
Extra info:
Windows Server 2003 server
Both SQL Server and the Access database are on this same server
The account under which SQL runs (Network Service) has full permissions on the folder and its contents where the .mdb lies.
The Jet OLE DB driver is up to date.
I also considered using ODBC (which I haven't used before) but the ODBC dialog under Administrative tools also doesn't have a field for entering the database password or a provider string as above.
- I have a .udl file, which can also be used if possible.
Any help on using this technique or alternatives would be greatly appreciated.
EDIT: I did Google the problem, which gives a solution that involves reinstalling a JET dll and editing the registry, but this is only applicable to Office 2002 and earlier, it seems. I have followed those instructions, and also tried upgrading to Access 2007 on a replicated testing server - no difference.