【问题标题】:SSIS parameterized datasource from SQL table来自 SQL 表的 SSIS 参数化数据源
【发布时间】:2014-01-29 11:36:45
【问题描述】:

这是我一直在尝试做的:

SSIS 包:项目

以下sql语句,使用链接服务器:

USE [TARGET]
GO

INSERT INTO [dbo].[Item]
       ([No_]
       ,[Description]
       ,[Unit Price]
       )
SELECT [No_]
      ,[Description]
      ,[Unit Price]
FROM [SOURCE].[Database].[dbo].[Item]

我想做什么:

将 TARGET 和 SOURCE 的数据源存储在 sql 表数据源中:

Data Source=localhost;Initial Catalog=TARGET;Provider=SQLNCLI.1;Integrated Security=SSPI;Auto Translate=False;

Data Source=localhost;Initial Catalog=SOURCE;Provider=SQLNCLI.1;Integrated Security=SSPI;Auto Translate=False;

最后更新SSIS包中指向参数的sql语句。

INSERT INTO @SOURCE +'.[Item]'+
       ([No_]
       ,[Description]
       ,[Unit Price]
       )
SELECT [No_]
      ,[Description]
      ,[Unit Price]
FROM @SOURCE +'.[Item]'+

但目前还没有成功,有什么建议吗?


更新:

缺少一张图片:

在连接管理器中,我想从数据源表中获取数据源信息(“我想要做什么”之后的第一张图片)


更新 2:

这可能吗??

【问题讨论】:

  • 我已经投票决定关闭它,因为它还不清楚。图片很好,但您需要详细说明您要做什么。

标签: sql sql-server parameters ssis


【解决方案1】:

你可以在Execute SQL Task:-

试试这个
DECLARE @query nvarchar(max) 
DECLARE @TARGET nvarchar(200) = ?
DECLARE @SOURCE nvarchar(200) = ?
Set  @query ='INSERT INTO ' + @TARGET +'.[Item]
   ([No_]
   ,[Description]
   ,[Unit Price]
   )
   SELECT [No_]
  ,[Description]
  ,[Unit Price]
  FROM ' +  @SOURCE +'.[Item]'
EXEC(@query)

Parameter Mapping 中,将? 映射到创建的变量,即目标和源

【讨论】:

  • OK 看起来不错。我在为链接服务器信息添加数据源时遇到问题...(添加图片)
  • 您可以在创建连接时选择任何数据库,因为您将始终使用[Server].[Database].[Schema].[Table]访问链接表
猜你喜欢
  • 2017-09-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-04-10
  • 2017-02-14
  • 2019-07-26
  • 1970-01-01
相关资源
最近更新 更多