Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Datetime variable in SSIS, хелп плиз!  [new]
abrashka
Member

Откуда:
Сообщений: 521
День добрый!
Столкнулся вот с какой проблемой:
Для наглядности, есть таблица source_table с датами:
create table source_table  (id int ,s_date datetime)
;
insert into source_table
select 1,'1900-01-01 00:00:00.000' union
select 2,'2012-04-13 18:19:38.923' union
select 3,'2012-04-28 15:19:38.923' union
select 4,'2012-05-02 12:19:38.923' union
select 5,'2012-05-08 13:19:38.923' union
select 6,'2012-05-19 02:19:38.923' union
select 7,'2012-05-21 11:19:38.923' union
select 8,'2012-05-23 11:19:38.923' union
select 9,'2012-06-02 10:19:38.923' union
select 10,'2012-06-30 18:19:38.923' 


Нужно создать SSIS пакет, который копирует данные из source_table в destination_table,
при условии, что день параметра с которым запускается пакет равен дню в source_table.

Т.е. если я запускаю пакет при помощи:
/FILE "E:\***\test\Date_var_test.dtsx" /SET "\Package\Data Flow Task.Variables[User::date_var].Properties[Value]";"2012-05-23 18:19",
то строчка с ID=8 должна записаться в destination_table.
(кстати правильно ли я запускаю пакет? Не получается запустить с милисекундами?).

Для этого создал переменную в Variables:
Name = date_var
Scope = Data Flow Task
Data Type = Date Time
Value = 01/01/1900

В Data Flow добавил OLEDB Source, в Data acess mode выбрал SQL Command,
в которой:
select s_date from source_table
where year(?)=year(s_date)
and month(?)=month(s_date)
and day(?)=day(s_date)


Далее в Parameters:
Parameter0=User::date_var
Parameter1=User::date_var
Parameter2=User::date_var

Сохраняю, запускаю и... не получаю желаемого результата :(


При чем, если в похожем пакете я хочу получить все данные с датой до переменной, то при:
select s_date from source_table
where ?>s_date
в SQL Command- получаю верный результат.

Не работает именно:
select s_date from source_table
where year(?)=year(s_date)
and month(?)=month(s_date)
and day(?)=day(s_date)


Огромное спасибо!
26 май 12, 20:15    [12620059]     Ответить | Цитировать Сообщить модератору
 Re: Datetime variable in SSIS, хелп плиз!  [new]
abrashka
Member

Откуда:
Сообщений: 521
Как вариант рассматривал:
select s_date from source_table
where datediff(d,s_date,?)=0

Тоже не получаю желаемого результата :(
26 май 12, 20:20    [12620071]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить