Sunday, March 25, 2012

Access dabase linked to SQL Server

Hi,

I have an Access database (name "Shipping") linked to SQL Server. The Access database is not secured. My access file is located on the same machine as the instance of SQL Server, in a shared folder that can be accessed by any user. The file permissions are set to full control for Everyone. I linked Access with the following procedure:

EXEC sp_addlinkedserver
@.server = 'Shipping',
@.provider = 'Microsoft.Jet.OLEDB.4.0',
@.srvproduct = 'OLE DB Provider for Jet',
@.datasrc = 'C:\Shipping\Shipping BackEnd.mdb'

then modified the linked server login mapping with:

EXEC sp_addlinkedsrvlogin 'Shipping','false',NULL,'Admin',NULL

Now, since I have domain administrator permissions, I can run a stored procedure in SQL Server that does a Select in the Access database without any problem. But when a normal user tries to run the procedure, he gets an error #7399. If I give this user domain administrator rights, he's able to run the procedure. There is something I don't get, with normal user permission, this user can open the Access database through the shared folder...

Thanks

-SteveStraight from BOL:

Error 7399
Severity Level 16
Message Text
OLE DB provider '%ls' reported an error. %ls

Cannot start your application. The workgroup information file is missing or opened exclusively by another user.

Explanation

This error message returned by the Microsoft OLE DB Provider for Jet indicates one of the following:

The Microsoft Access database is not a secured database and the login and password specified was not Admin with no password.

The Access database is secured and the HKEY_LOCAL_MACHINE\Software\Microsoft\Jet\4.0\Syst emDB registry key is not pointing to the correct Access workgroup file. Secured Access databases have a corresponding workgroup file, including the full path, which should be indicated by the above registry key.

Action

Verify that there is a login mapping for the current Microsoft SQL Server login to Admin with no password.

If the Access database being accessed is secured, make sure that the above registry key points to the full pathname of the Access workgroup file.|||Thanks, but I've already checked the BOL and it didn't help me:

1- The Access database is not secured so I shouldn't have to worry about the workgroup information file
2- I already made the login mapping to Access user 'Admin' with no password and it didn't fix the problem => EXEC sp_addlinkedsrvlogin 'Shipping','false',NULL,'Admin',NULL
3- Everything is working great with Windows users with Administrator rights. So it seems to be a Windows permission problem even though I gave Full control permission to everyone on the Access file. This file is in a Shared Folder on the server and anyone can open it...

No comments:

Post a Comment