Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Проверка наличия файла НА FTP с помощью SSIS Script Task  [new]
qwerty321
Guest
Добрый день!

автор
"Подскажите, как в SSIS пакете осуществить проверку на наличие файла с опред. маской (например *.txt)

Нашел Script Task, хочу попробовать сделать проверку с его помощью.
Наверняка нужно написать 3-4 строчки, но опыта на VSB и в .NET - ноль.
Направьте в нужную сторону :) "


Эту проблему успешно удалось решить. Подскажите, как сделать то же самое (проверить наличие файла) на FTP?
14 дек 11, 17:37    [11766317]     Ответить | Цитировать Сообщить модератору
 Re: Проверка наличия файла НА FTP с помощью SSIS Script Task  [new]
qwerty321
Guest
Никто не знает или никак нельзя?
14 дек 11, 17:53    [11766473]     Ответить | Цитировать Сообщить модератору
 Re: Проверка наличия файла НА FTP с помощью SSIS Script Task  [new]
--__Александр__--
Member

Откуда:
Сообщений: 2631
В цикле:
1) пробуете скопировать или переименовать
2) если не получается, то задержка и в начало цикла.
3) если получается, то все ок.
14 дек 11, 17:57    [11766504]     Ответить | Цитировать Сообщить модератору
 Re: Проверка наличия файла НА FTP с помощью SSIS Script Task  [new]
Jovanny
Member

Откуда:
Сообщений: 1196
Может, это подскажет?

SSIS загрузка файлов с ftp
14 дек 11, 18:08    [11766597]     Ответить | Цитировать Сообщить модератору
 Re: Проверка наличия файла НА FTP с помощью SSIS Script Task  [new]
qwerty321
Guest
Jovanny,

спасибо, попробую переписать под себя
14 дек 11, 18:12    [11766653]     Ответить | Цитировать Сообщить модератору
 Re: Проверка наличия файла НА FTP с помощью SSIS Script Task  [new]
qwerty321
Guest
--__Александр__--,

как-то кривовато это... надо точно проверить, есть файл или нет, и без "задержек" :)
14 дек 11, 18:15    [11766682]     Ответить | Цитировать Сообщить модератору
 Re: Проверка наличия файла НА FTP с помощью SSIS Script Task  [new]
Glory
Member

Откуда:
Сообщений: 104751
qwerty321
надо точно проверить, есть файл или нет, и без "задержек"

И без соединения с ftp-сервером ?
14 дек 11, 18:42    [11766884]     Ответить | Цитировать Сообщить модератору
 Re: Проверка наличия файла НА FTP с помощью SSIS Script Task  [new]
qwerty321
Guest
Glory
qwerty321
надо точно проверить, есть файл или нет, и без "задержек"

И без соединения с ftp-сервером ?


?
надо соединиться и проверить наличие файла (просмотреть каталог) - зачем делать попытку его копировать?
14 дек 11, 18:51    [11766952]     Ответить | Цитировать Сообщить модератору
 Re: Проверка наличия файла НА FTP с помощью SSIS Script Task  [new]
Glory
Member

Откуда:
Сообщений: 104751
qwerty321
надо соединиться и проверить наличие файла (просмотреть каталог) - зачем делать попытку его копировать?

Ну так не делайте "попытку его копировать"
Но соединяться и получать список файлов все равно придется
14 дек 11, 18:54    [11766972]     Ответить | Цитировать Сообщить модератору
 Re: Проверка наличия файла НА FTP с помощью SSIS Script Task  [new]
qwerty321
Guest
Glory
qwerty321
надо соединиться и проверить наличие файла (просмотреть каталог) - зачем делать попытку его копировать?

Ну так не делайте "попытку его копировать"
Но соединяться и получать список файлов все равно придется


Тема вообще-то и состоит из вопроса о том, как это сделать.
Слово "задержка" употреблено по отношению к п. 2 инструкции __Александр___ - речь идет о искуственнои замедлении цикла, которое имхо не нужнл
14 дек 11, 19:46    [11767267]     Ответить | Цитировать Сообщить модератору
 Re: Проверка наличия файла НА FTP с помощью SSIS Script Task  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31983
qwerty321
Подскажите, как сделать то же самое (проверить наличие файла) на FTP?
В SSIS такое невозможно. К сожалению, FTP таск небогатый, функций получения списка файлов или проверки наличия не предусмотрено.

Можно только написать программу в скрипт-таске, как в ссылке Jovanny.

Или скачать сторонние компоненты FTP. Там конечно всё есть, но придётся это распространять и устанавливать у клиентов.
14 дек 11, 20:44    [11767531]     Ответить | Цитировать Сообщить модератору
 Re: Проверка наличия файла НА FTP с помощью SSIS Script Task  [new]
Glory
Member

Откуда:
Сообщений: 104751
qwerty321
Тема вообще-то и состоит из вопроса о том, как это сделать.

Ссылка разве не предлагает вариант решения ?
14 дек 11, 21:40    [11767764]     Ответить | Цитировать Сообщить модератору
 Re: Проверка наличия файла НА FTP с помощью SSIS Script Task  [new]
--__Александр__--
Member

Откуда:
Сообщений: 2631
qwerty321
Glory
пропущено...

Ну так не делайте "попытку его копировать"
Но соединяться и получать список файлов все равно придется


Тема вообще-то и состоит из вопроса о том, как это сделать.
Слово "задержка" употреблено по отношению к п. 2 инструкции __Александр___ - речь идет о искуственнои замедлении цикла, которое имхо не нужнл


Ненужна вам задержка - не делайте.
Алгоритм простой - если получается файл переименовать - значит он есть, если таск завершается с ошибкой - значит его нет.
15 дек 11, 09:25    [11768750]     Ответить | Цитировать Сообщить модератору
 Re: Проверка наличия файла НА FTP с помощью SSIS Script Task  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31983
--__Александр__--
Алгоритм простой - если получается файл переименовать - значит он есть, если таск завершается с ошибкой - значит его нет.
Неправильно, ошибка не означает, что файла нет, неужели это не очевидно???
15 дек 11, 09:48    [11768871]     Ответить | Цитировать Сообщить модератору
 Re: Проверка наличия файла НА FTP с помощью SSIS Script Task  [new]
--__Александр__--
Member

Откуда:
Сообщений: 2631
alexeyvg,

Ошибка означает, что файла либо нет, либо он занят другим процессом. В любом случае, работать с ним не получится.
Если необходимо копировать данные из этого файла, то такая проверка более правильная, чем предложил Jovanny.
Файл на FTP может уже появился, но копирование данных в него не законченно, поэтому обрабатывать его дальше нельзя.

В с этим не согласны?
15 дек 11, 09:55    [11768915]     Ответить | Цитировать Сообщить модератору
 Re: Проверка наличия файла НА FTP с помощью SSIS Script Task  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31983
--__Александр__--
alexeyvg,

Ошибка означает, что файла либо нет, либо он занят другим процессом. В любом случае, работать с ним не получится.
Если необходимо копировать данные из этого файла, то такая проверка более правильная, чем предложил Jovanny.
Файл на FTP может уже появился, но копирование данных в него не законченно, поэтому обрабатывать его дальше нельзя.

В с этим не согласны?
У пользователя может не быть прав на переименование (как правило, так оно и есть, ведь FTP здесь рассматривается как источник для чтения файлов, а не как хранилище, куда их можно положить), или файл может быть занят другим процессом на чтение - в этих случаях переименовать не удасться.

--__Александр__--
Файл на FTP может уже появился, но копирование данных в него не законченно, поэтому обрабатывать его дальше нельзя.
Такие ошибки по любому должны обрабатываться непосредственно при чтении. Успешное переименование файла не означает, что его можно будет прочитать.
15 дек 11, 10:47    [11769238]     Ответить | Цитировать Сообщить модератору
 Re: Проверка наличия файла НА FTP с помощью SSIS Script Task  [new]
Сергей111123
Member

Откуда:
Сообщений: 60
--__Александр__-- , или быть может ещё кто

быть может Вы подскажете, как переименовать файл на фтп сервере без копирования его в локальную директорию?
Был бы премного благодарен
12 янв 12, 15:55    [11893323]     Ответить | Цитировать Сообщить модератору
 Re: Проверка наличия файла НА FTP с помощью SSIS Script Task  [new]
--__Александр__--
Member

Откуда:
Сообщений: 2631
Сергей111123
--__Александр__-- , или быть может ещё кто

быть может Вы подскажете, как переименовать файл на фтп сервере без копирования его в локальную директорию?
Был бы премного благодарен



http://www.simple-talk.com/sql/ssis/quick-tip-performing-an-ftp-rename-in-a-ssis-script-task/
12 янв 12, 16:39    [11893708]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить