【问题标题】:Linked server error OLE DB provider "SQLNCLI10"链接服务器错误 OLE DB 提供程序“SQLNCLI10”
【发布时间】:2015-08-20 10:17:40
【问题描述】:

我正在尝试创建从服务器 A (sql server 2008) 到服务器 B (sql server 2000) 的链接服务器。我已经创建了链接服务器连接,但是当我运行如下所示的查询时出现了一些错误,

OLE DB provider "SQLNCLI10" for linked server "SERVER_A" returned message     "Unspecified error".
OLE DB provider "SQLNCLI10" for linked server "SERVER_A" returned message     "The stored procedure required to complete this operation could not be found on     the server. Please contact your system administrator.".
Msg 7311, Level 16, State 2, Line 1
Cannot obtain the schema rowset "DBSCHEMA_TABLES_INFO" for OLE DB provider      "SQLNCLI10" for linked server "SERVER_A". The provider supports the interface,     but returns a failure code when it is used.

需要帮助。

【问题讨论】:

  • 首先请确认server_B被添加为链接服务器,并且在Server_B中对Server_A有授权。
  • 是的,我已经添加为链接服务器,但仍然无法使用。
  • 服务器是否开启了分布式事务!?
  • 我不知道,我是sql server的新手,如何确定它有没有?

标签: sql sql-server sql-server-2008 sql-server-2008-r2 linked-server


【解决方案1】:

我知道这是一篇很老的帖子。不确定问题是否已为您解决。但是在这个blog,他们建议在2000 server master 数据库中创建这个sproc。我试过了,它对我来说就像一种享受。

create procedure sp_tables_info_rowset_64
  @table_name sysname,
  @table_schema     sysname = null,  
  @table_type nvarchar(255) = null
as
   declare @Result int set @Result = 0
   exec @Result = sp_tables_info_rowset @table_name, @table_schema, @table_type
go

【讨论】:

    【解决方案2】:

    我认为您必须启用仅级别 0 的 SQLNCLI10 供应商选项,因为 SQL 2000 不支持架构概念。

    您可以通过编辑 SQLNCLI10 供应商选项来启用该选项,然后选中相关复选框。

    希望对你有帮助。

    【讨论】:

    • 如何启用 SQLNCLI10 供应商选项?我对此一无所知。
    • 在您的 SQL Server 节点下,转到 Server objects=>Linked Servers=>Suppliers=>右键单击 SQLNCLI10 并选择属性。
    • 在属性上,项目很少,只有已经选中的允许进程复选框。我应该选择另一个复选框吗?哪一个?
    • 只有零级,你有吗?
    • 只有零级,这是选项的确切名称
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-06
    • 1970-01-01
    • 1970-01-01
    • 2011-09-18
    • 2012-10-31
    相关资源
    最近更新 更多