SQL 2008链接服务器访问拒绝错误的优点

时间:2011-01-21 18:29:38

标签: sql-server-2008 advantage-database-server

我正在尝试在SQL 2008中创建一个到Advantage v7数据库服务器的链接服务器。我已经使用下面的命令在SQL 2008中成功创建了链接服务器,并且连接测试正常。另外,我连接的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获得了至少一些表格信息。我只是不知道为什么我收到了拒绝访问的消息。

非常感谢任何帮助!

1 个答案:

答案 0 :(得分:6)

这听起来很熟悉,但我不记得我收到的确切错误信息。

尝试在链接服务器设置中转到Advantage OLE DB提供程序,右键单击并选择属性并设置“允许进程”。

如果我没记错的话,在Management Studio Express我去了 服务器对象 - >链接服务器 - >提供商 - > Advantage OLE DB提供程序(右键单击 - >属性或双击)

设置“允许进行处理”