Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ssis 如何修复无法获取模式行集DBSCHEMA_TABLES_信息的错误?_Ssis_Oledb - Fatal编程技术网

Ssis 如何修复无法获取模式行集DBSCHEMA_TABLES_信息的错误?

Ssis 如何修复无法获取模式行集DBSCHEMA_TABLES_信息的错误?,ssis,oledb,Ssis,Oledb,我正在尝试更正SSIS作业中的一些错误。错误的数目是12,我知道我得到了5 我收到以下错误消息,它是法语的 [OLE DB源[1]]错误:SSIS错误代码DTS_E_OLEDBERROR。发生OLE DB错误。错误代码:0x80040E14。OLE DB记录可用。来源:“Microsoft SQL Server本机客户端10.0”Hresult:0x80040E14描述:“不可能的数据表信息”pour le Fourniseur OLE DB“SQLNCLI10”du serveur lié“s

我正在尝试更正SSIS作业中的一些错误。错误的数目是12,我知道我得到了5

我收到以下错误消息,它是法语的

[OLE DB源[1]]错误:SSIS错误代码DTS_E_OLEDBERROR。发生OLE DB错误。错误代码:0x80040E14。OLE DB记录可用。来源:“Microsoft SQL Server本机客户端10.0”Hresult:0x80040E14描述:“不可能的数据表信息”pour le Fourniseur OLE DB“SQLNCLI10”du serveur lié“serveur3”。le Fourniseur prend en charge l'interface,mais retourne联合国代码d'erreur lorsqu'elle est Usuris.”。[SSIS.Pipeline]错误:组件“OLE DB源”(1)在预执行阶段失败,返回错误代码0xC0202009

错误消息用英语翻译为以下内容

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

如何修复错误消息?

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

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

  • 该消息表示您可能正在尝试使用SQL Server Native Client 10.0查询链接服务器。根据web上的搜索,我猜链接服务器指向的是
    SQLServer2000
检查以下各项: 阅读下面的Microsoft Connect网站错误报告,了解如何解决您的问题

网站引述: 这里的问题似乎是SQL 2000服务器上的instcat版本已过时。按照KB 906954()中的步骤应该可以解决这个问题

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

这些链接建议在主数据库中创建以下存储过程,并向相应的用户帐户授予执行权限

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实例的步骤 以下是使用
businessintelligencedevelopmentstudio(BIDS)
2008r2创建
数据源以连接到SQL Server实例的步骤

在BIDS项目解决方案中,右键单击文件夹
数据源
,然后单击
新数据源…

在数据源向导上,单击新建。。。创建一个新的连接

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

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

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

  • 根据要连接到SQL Server实例的方式,选择Windows身份验证或SQL Server身份验证。如果选择SQL Server身份验证,请输入有效的用户名和密码

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

  • 选择要连接的数据库

  • 单击“确定”

  • 单击数据源向导上的下一步。在最后一步中,为数据源指定一个适当的名称,如OLEDB_AdventureWorks
    OLEDB
    表示连接类型,
    AdventureWorks
    表示数据库名称。单击Finish

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

    要将数据源添加到包中,请右键单击SSIS包底部显示的
    连接管理器
    选项卡,然后单击
    从数据源新建连接…

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

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

    其他选择: 您也可以直接在包本身上创建连接管理器,而不是创建数据源。右键单击SSIS包底部显示的连接管理器选项卡,然后选择要创建的相应连接。此连接管理器将被访问
    USE master
    GRANT EXEC ON sp_tables_info_rowset_64 TO PUBLIC