这就是我一直在努力做的事情:
SSIS包:项目
使用以下sql语句,使用链接服务器:
USE [TARGET]
GO
INSERT INTO [dbo].[Item]
([No_]
,[Description]
,[Unit Price]
)
SELECT [No_]
,[Description]
,[Unit Price]
FROM [SOURCE].[Database].[dbo].[Item]
我想做什么:
在sql表数据源中存储TARGET和SOURCE的数据源:
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]'+
但到目前为止还没有成功,有什么建议吗?
更新:
缺少一张照片:
在连接管理器中,我想从表Datasource获取数据源信息(在“我想做什么”之后的第一张图片)
更新2:
这可能吗?
答案 0 :(得分:2)
您可以在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
地图中?
创建的变量,即目标和来源