2014-01-29 2 views
0

Это то, что я пытаюсь сделать:SSIS параметризованных DataSource из таблицы SQL

SSIS пакет: Предметы

enter image description here

Со следующим SQL Statement, используя связанный сервер:

USE [TARGET] 
GO 

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

enter image description here

То, что я хочу сделать:

enter image description here

Магазин источник данных для обоих TARGET и SOURCE в таблицы SQL Datasource:

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; 

И, наконец, обновить заявление SQL в пакете служб SSIS, указывая на параметр ,

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

Но не удалось ли до сих пор сделать какие-либо предложения?


Update:

пропускал одну картину:

enter image description here

В диспетчере соединений Я хотел бы получить информацию источника данных из таблицы Datasource (первый снимок после «я хочу сделать ")


Обновление: te 2:

Возможно ли это?

enter image description here

+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 карту ? к переменным, созданных т.е. Target и Source

+0

OK выглядит хорошо. У меня проблемы с добавлением источника данных для информации связанного сервера ... (добавлено изображение) – AceAlfred

+0

U может выбрать любую базу данных при создании соединения, потому что вы всегда будете обращаться к связанным таблицам, используя '[Server]. [Database]. [ Схема]. [Таблица] ' – praveen

Смежные вопросы