我正在尝试在SQL2008中创建到Advantage v7数据库服务器的链接服务器。我已经使用下面的命令在SQL2008中成功地创建了链接服务器,并且连接测试结果良好。另外,我要连接的Advantage DB没有数据字典。
用于创建链接服务器的SQL
EXEC master.dbo.sp_addlinkedserver
@server = N'ADVANTAGE', @srvproduct=N'Advantage',
@provider=N'Advantage.OLEDB',
@datasrc=N'\\asc1\questtest$\spaulrun'
/* For security reasons the linked server remote logins password is changed with ######## */
EXEC master.dbo.sp_addlinkedsrvlogin
@rmtsrvname=N'ADVANTAGE',
@useself=N'False',
@locallogin=NULL,@rmtuser=NULL,@rmtpassword=NULL
当我运行以下查询时:
select * from
openquery(ADVANTAGE,'select * from members')
我得到了这个错误:
Msg 7399, Level 16, State 1, Line 1
The OLE DB provider "Advantage.OLEDB" for linked server "ADVANTAGE" reported an error. Access denied.
Msg 7350, Level 16, State 2, Line 1
Cannot get the column information from OLE DB provider "Advantage.OLEDB" for linked server "ADVANTAGE".
我已确认这不是NT文件权限问题。此外,在显示错误消息之前,我可以看到屏幕上的所有列名。因此,我至少从Advantage获得了一些表信息。我只是不知道为什么我会收到拒绝访问的消息。
任何帮助都是非常感谢的!
发布于 2011-01-21 19:11:49
这听起来很熟悉,但我不记得收到的确切错误消息了。
尝试转到链接服务器设置中的Advantage OLE DB Provider,右键单击并选择属性,然后设置"Allow Inprocess“。
如果我没记错的话,在Management Studio Express中,我转到了服务器对象->链接服务器->提供程序-> Advantage OLE DB提供程序(右键单击->属性或双击)
设置“允许进程内”
https://stackoverflow.com/questions/4762415
复制相似问题