MSSQL添加Access链接服务器的问题
在mssql中增加了一个链接服务器,使用语句如下:
EXEC sp_addlinkedserver 'A','access','Microsoft.Jet.OLEDB.4.0','E:\MSSQL_data\db1.mdb'
现在的情况有两种:
1:access没设置密码
当前可以使用select * from A...tab查询到链接服务器中的tab表
接着我进行了下面的步骤
sp_droplinkedsrvlogin 'A', null --删除默认登录
go
sp_addlinkedsrvlogin 'A', false, 'SA' --新建登录
go
执行完后我发现select * from A...tab出错
“服务器: 消息 7416,级别 16,状态 1,行 1
对远程服务器的访问遭拒绝,因为不存在登录映射。”
2:删除原来的链接服务器A,然后重建;并对access设置了密码“1”
当前使用select * from A...tab查询出错
“服务器: 消息 7399,级别 16,状态 1,行 1
OLE DB 提供程序 'Microsoft.Jet.OLEDB.4.0' 报错。验证失败。
[OLE/DB provider returned message: 密码无效。]
OLE DB 错误跟踪[OLE/DB Provider 'Microsoft.Jet.OLEDB.4.0' IDBInitialize::Initialize returned 0x80040e4d: 验证失败。]。
”
接着我进行了下面的步骤
sp_droplinkedsrvlogin 'A', null --删除默认登录
go
sp_addlinkedsrvlogin 'A', false, 'SA','MS Access','1' --新建登录
go
接着使用select * from A...tab查询,还是出错:
“服务器: 消息 7416,级别 16,状态 1,行 1
对远程服务器的访问遭拒绝,因为不存在登录映射。
”
请各位大哥看看应该怎么做,才能做到以下几点:
1、access需要密码
2、只能使用mssql的某一用户,如sa,myuser等进行访问该链接服务器。
3、在mssql的帮助中有这样一句,我不知道怎么做:
“要访问保密的 Access 数据库,需使用注册表编辑器配置注册表,以便使用 Access 所用的正确的工作组信息文件。使用注册表编辑器向该注册表项中添加 Access 使用的工作组信息文件的完整路径名称:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\4.0\Engines\SystemDB
”