将受保护的访问数据库连接到sql server

时间:2015-02-10 18:16:27

标签: sql-server linked-server

我在Windows Server 2008 R2 x64中运行了受密码保护的访问数据库(.mdb)和sql server 2008.

我安装了“Microsost Access数据库引擎”,我想创建一个可以访问的链接服务器,但是我收到了这个错误:

  

“无法启动您的应用程序。工作组信息文件丢失或由其他用户独占打开”。

我的服务器上没有任何* .mdw文件。

我可以将链接服务器添加到不受保护的数据库,但不能添加到受保护的数据库。

如何在没有安装MS访问权限的情况下添加mdw文件?

或者是否有任何其他方式来添加链接服务器?

2 个答案:

答案 0 :(得分:0)

使用此方法:

EXEC master.dbo.sp_addlinkedserver @server = N'Access', @srvproduct=N'Access', @provider=N'Microsoft.Jet.OLEDB.4.0',
 @datasrc=N'C:\Program Files\ZKTime5.0\att2000.mdb'
EXEC master.dbo.sp_addlinkedsrvlogin @rmtsrvname=N'Access',@useself=N'False',@locallogin=NULL,@rmtuser=N'Admin',@rmtpassword=''

这对我有用。

答案 1 :(得分:-1)

我可以使用SQL脚本创建链接服务器:

////////////////Create linked server with no password access file
EXEC master.dbo.sp_addlinkedserver @server = N'linkedserver', @srvproduct=N'Smarthr', @provider=N'Microsoft.ACE.OLEDB.12.0', @datasrc=N'dbpath\file.mdb'
EXEC master.dbo.sp_addlinkedsrvlogin @rmtsrvname=N'LINKEDSVR',@useself=N'False',@locallogin=NULL,@rmtuser=NULL,@rmtpassword=NULL

//////////////////////////Create linked server with access password file
exec sp_addlinkedserver 
    @server = 'LinkServer', 
    @provider = 'Microsoft.ACE.OLEDB.12.0', 
    @srvproduct = 'Access4',
    @datasrc = 'dbpath\filename.mdb', 
    @provstr = ';PWD=yourpassword'

exec sp_addlinkedsrvlogin 
    @rmtsrvname = 'LinkServer',
    @useself = 'FALSE',
    @locallogin = null, 
    @rmtuser = 'Admin', 
    @rmtpassword = null