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

Откуда:
Сообщений: 24
Всем привет! Имеется Data Flow Task, в нем Excel Source. На приемнике OLE DB Destination. Нужно завести в приемник все записи, начиная со второй(!). Bulk Insert и First Row мне не подходит, SQLServer Destination - тоже. Буду благодарен за идеи.
3 июл 11, 15:36    [10913802]     Ответить | Цитировать Сообщить модератору
 Re: SSIS Как удалить строку в потоке?  [new]
Aleksey-K
Member

Откуда: Москва
Сообщений: 3116
Ничего сложного:
1. В поток добавляете Script Component (Transformation), который будет добавлять новую колонку, которая будет содержать номер строки (у меня она называется RowNumber ).
1.1. Добавляете выходную колоку с именем, например, RowNumber (см. рисунок)
1.2. Заходите в редактирование скрипта и редактируете код, например, таким образом:

public class ScriptMain : UserComponent
{
    private int rowNumber = 1;
    public override void PreExecute()
    {
        base.PreExecute();
        /*
          Add your code here for preprocessing or remove if not needed
        */
    }

    public override void PostExecute()
    {
        base.PostExecute();
        /*
          Add your code here for postprocessing or remove if not needed
          You can set read/write variables here, for example:
          Variables.MyIntVar = 100
        */
    }

    public override void Input0_ProcessInputRow(Input0Buffer Row)
    {
        /*
          Add your code here
        */
        Row.RowNumber = rowNumber;
        rowNumber++;
    }

}
2. В поток после скрипта добавляете Task Conditional Split с условием отбора RowNumber > 1
В приемник направляете именно этот поток.
С уважением, Алексей

К сообщению приложен файл. Размер - 81Kb
4 июл 11, 11:52    [10917360]     Ответить | Цитировать Сообщить модератору
 Re: SSIS Как удалить строку в потоке?  [new]
mr.Dream
Member

Откуда:
Сообщений: 24
Aleksey-K, и действительно несложно! Очень выручили, большое спасибо!
4 июл 11, 15:11    [10918872]     Ответить | Цитировать Сообщить модератору
 Re: SSIS Как удалить строку в потоке?  [new]
Ivan Durak
Member

Откуда: Minsk!!!
Сообщений: 3752
mr.Dream
Aleksey-K, и действительно несложно! Очень выручили, большое спасибо!

можно в скрипткомпоненте сразу и эксель читать!
4 июл 11, 16:18    [10919420]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить