【问题标题】:Accessing Linked Server through Shared Server in SSIS通过 SSIS 中的共享服务器访问链接服务器
【发布时间】:2012-07-25 14:51:07
【问题描述】:

我为 ServerX 设置了一个数据库连接管理器。在 ServerX 上,我设置了一个名为 ServerY 的链接服务器。

我在 ServerX 上运行这个查询,它可以工作

select * from 
[Serverx].[database1].[dbo].[Table1] A
left join [Servery].[database2].[dbo].[Table2] B
on A.[DNum]=B.[DNum]

我将它放在我的 PC 上而不是 ServerX 上的 SSIS 包中的执行 SQL 任务中。我运行它,它给出了这个错误:

任务 10 h 出错 - 检查缺失的交易 [OLE DB 源 [1]]: SSIS 错误代码 DTS_E_OLEDBERROR。发生 OLE DB 错误。 错误代码:0x80040E14。 OLE DB 记录可用。资源: “Microsoft SQL Server Native Client 10.0”Hresult:0x80040E14 描述:“用于链接服务器的 OLE DB 提供程序“SQLNCLI10” "Server_Y" 不包含表 ""database2"."dbo"."Table2""。 该表不存在或当前用户没有 该表的权限。”。

该查询适用于 ServerX,但不适用于我的 PC,使用远程数据库连接到服务器上的数据库或使用 SSIS 中的执行 SQL 任务。

我错过了什么吗?请帮忙?

【问题讨论】:

    标签: sql-server ssis


    【解决方案1】:

    正如错误所说:

    该表不存在或当前用户没有 该表的权限

    因为您可以在 ServerX 上运行查询,所以您知道链接服务器和 ServerY 上的表存在(假设您在 SSIS 包中正确键入了查询),因此问题很可能是权限。

    很可能软件包中的 ServerX 连接管理器配置不正确:它可能具有错误的登录凭据,或者它甚至可能指向错误的服务器。

    【讨论】:

    • 已切换到另一台服务器,因此需要一周后再查看。
    猜你喜欢
    • 1970-01-01
    • 2014-07-22
    • 2017-05-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-06
    相关资源
    最近更新 更多