如何修复错误无法获取架构行集DBSCHEMA_TABLES_INFO?

时间:2013-02-18 09:05:52

标签: ssis oledb

我正在尝试纠正SSIS作业上的一些错误。那个错误的数量是12,知道我得到5

我收到以下错误消息,其中包含法语

  

[OLE DB Source [1]]错误:SSIS错误代码DTS_E_OLEDBERROR。发生OLE DB错误。错误代码:0x80040E14。 OLE DB记录可用。来源:“Microsoft SQL Server Native Client 10.0”Hresult:0x80040E14描述:“Impossible d'obtenir l'ensemble de lignesduschéma”DBSCHEMA_TABLES_INFO“pour le fournisseur OLE DB”SQLNCLI10“duserveurlié”serveur3“.Le fournisseur prend en charge l'interface,mais retourne un code d'erreur lorsqu'elleestutilisée。“ [SSIS.Pipeline]错误:组件“OLE DB源”(1)未执行预执行阶段并返回错误代码0xC0202009

错误消息转换为英语中的以下内容。

  

[OLE DB Source 1]错误:SSIS错误代码DTS_E_OLEDBERROR。发生OLE DB错误。错误代码:0x80040E14。 OLE DB记录可用。来源:“Microsoft SQL Server Native Client 10.0”Hresult:0x80040E14说明:“无法为链接服务器”server3获取OLE DB提供程序“SQLNCLI10”的架构行集“DBSCHEMA_TABLES_INFO”。 “Provider支持接口,但在使用时会返回失败代码。” [SSIS.Pipeline]错误:组件“OLE DB Source”(1)未执行预执行阶段并返回错误代码0xC0202009。

如何修复错误消息?

1 个答案:

答案 0 :(得分:1)

翻译错误消息:

您在评论中添加的错误消息是法语。使用Google翻译,错误消息会转换为以下内容:

  

[OLE DB Source 1]错误:SSIS错误代码DTS_E_OLEDBERROR。发生OLE DB错误。错误代码:0x80040E14。 OLE DB记录可用。来源:“Microsoft SQL Server Native Client 10.0”Hresult:0x80040E14说明:“无法为链接服务器”server3获取OLE DB提供程序“SQLNCLI10”的架构行集“DBSCHEMA_TABLES_INFO”。 “Provider支持接口,但在使用时会返回失败代码。” [SSIS.Pipeline]错误:组件“OLE DB Source”(1)未执行预执行阶段并返回错误代码0xC0202009。

  • 该消息暗示您可能正在尝试使用 SQL Server Native Client 10.0 查询链接服务器。我猜测链接服务器根据网络上的搜索指向SQL Server 2000

检查以下内容:

阅读以下Microsoft Connect网站错误报告,了解如何解决问题。

Unable to query linked SQL Server 2000

网站引用:

这里的问题似乎是SQL 2000服务器上的instcat版本已过时。遵循KB 906954(http://support.microsoft.com/kb/906954)中的步骤应该解决这个问题。

其他链接:

可能有助于解决问题的其他链接:

Cannot obtain the schema rowset "DBSCHEMA_TABLES_INFO" for OLE DB provider

Cannot obtain the schema rowset "DBSCHEMA_TABLES_INFO" for OLE DB provider "SQLNCLI10" for linked server "XXXXXX"

链接建议在master数据库中创建以下存储过程,并向相应的用户帐户授予Execute权限。

USE master;
GO

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

创建数据源以从SSIS 2008 R2连接到SQL Server实例的步骤

以下是使用 Data Source 2008 R2创建 Business Intelligence Development Studio (BIDS) 以连接到SQL Server实例的步骤。

在BIDS项目解决方案中,右键单击文件夹 Data Sources ,然后点击 New Data Source...

New Data Source

在“数据源向导”上,单击“新建...”以创建新连接。

Data Source Wizard

在“连接管理器”对话框中,执行以下步骤:

  • 根据您要连接的SQL Server版本选择合适的 Provider 。您将只看到计算机上安装的提供程序。
  • 对于 SQL Server 2000 ,请选择 Microsoft OLE DB Provider for SQL Server
  • 对于 SQL Server 2005 - 2008 R2 ,请选择 Native OLE DB\SQL Server Native Client 10.0
  • 对于 SQL Server 2012 ,请选择 Native OLE DB\SQL Server Native Client 11.0

  • 输入服务器名称或实例名称,例如 MachineName\InstanceName

  • 选择Windows身份验证或SQL Server身份验证,具体取决于您希望如何连接到SQL Server实例。如果选择“SQL Server身份验证”,请输入有效的用户名和密码。

  • 单击“测试连接”以确保凭据有效。

  • 选择要连接的数据库。

  • 点击确定

Connection Manager

在“数据源向导”上单击“下一步”。在最后一步中,为数据源指定正确的名称,例如 OLEDB_AdventureWorks OLEDB 表示连接类型, AdventureWorks 表示数据库名称。单击“完成”。

Complete the Wizard

新创建的数据源OLEDB_AdventureWorks将显示在SSIS项目的Data Sources文件夹下。

Data Source

要将数据源添加到包中,请右键单击SSIS包底部显示的 Connection Manager 选项卡,然后单击 {{1} }

New Connection From Data Source

“选择数据源”对话框将显示SSIS项目中的所有可用数据源。选择要添加到包中的那些,然后单击“确定”。

Select Data Source

新数据源将显示在包连接管理器上。您现在可以在包任务中使用连接管理器。

Connection Manager on Package

其他选项:

您也可以直接在包本身上创建连接管理器,而不是创建数据源。右键单击SSIS包底部显示的 New Connection From Data Source... 选项卡,然后选择要创建的相应连接。此连接管理器仅对包可见,而不对SSIS项目解决方案中的其他包可见。

建议:

  • 阅读 FAQ ,了解如何发布包含足够信息的问题供其他人回答。

  • 不要在评论中添加错误消息。阅读和理解信息非常困难。

  • 始终编辑您的问题以详细解释问题或添加更多信息。

  • 如果错误消息不是英文,请翻译错误消息。