【问题标题】:Advantage to SQL 2000 Linked Server Access Denied ErrorSQL 2000 链接服务器访问被拒绝错误的优势
【发布时间】:2011-06-21 14:45:25
【问题描述】:

我正在尝试分别使用 32 位和 64 位的 Advantage OLE DB 提供程序在 SQL Server 2000 和 SQL Server 2005 x64 中创建链接到 Sybase Advantage 数据库的服务器。

在尝试浏览目录以及从两个 SQL Server 使用 openquery 执行查询时,我不断收到以下错误:

OLE DB error trace [OLE/DB Provider 'Advantage OLE DB Provider' IUnknown::QueryInterface returned 0x80070005:  Access denied.].
Msg 7399, Level 16, State 1, Line 1
OLE DB provider 'Advantage OLE DB Provider' reported an error. Access denied.

以下 Stack Overflow 问答帮助我在 SQL Server 2005 x64 上解决了这个问题:

Advantage to SQL 2008 Linked Server Access Denied Error

但是,尽管按照上面的建议设置了Allow inprocess,但我仍然在 SQL Server 2000 中收到 access denied 错误。

两个链接服务器使用相同的数据源、登录凭据和服务器选项。非常感谢任何帮助。

【问题讨论】:

    标签: sql-server-2000 linked-server advantage-database-server


    【解决方案1】:

    尝试在查询分析器中运行查询。您应该会看到返回的 Advantage 特定 OLE DB 错误。例如:

    服务器:消息 7399,级别 16,状态 1, 第 1 行 OLE DB 提供程序 'Advantage OLE DB Provider' 报告错误。
    [OLE/DB 提供程序返回消息: 错误 7078:优势数据库 服务器无法验证用户。 确保用户名和密码 是正确的。 axServerConnect
    AdsConnect]

    在这种情况下,这是一个错误的用户/密码

    【讨论】:

    • 谢谢埃德加。我尝试从 SQL 2000 服务器上的查询分析器以及客户端计算机上的 SQL Management Studio 执行查询,但无论如何我都会收到相同的错误。我更新了我的问题中的错误消息,以包含我最初遗漏的一行。
    • 鉴于 IUnknown::QueryInterface,我怀疑 SQL Server 可能无法找到 OLE DB 提供程序或无法加载它。 A) 检查注册表 HKLM\Software\Microsoft\MSSQLServer\Providers。从顶层向下确保 AllowInProcess 设置为 1。 B) 使用进程监视器(来自 sysinternals)并过滤提供程序 ADSOLEDB.dll 和 ACE32.dll 并查看它是否已加载。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-01-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-09
    • 1970-01-01
    相关资源
    最近更新 更多