indian143 Ответов: 4

Оптимальные варианты создания и развертывания файла-наблюдатель


Всем привет,

Мне нужно разработать приложение, которое будет считывать плоские файлы и обновления в нашу базу данных SQL Server, и оно должно заглянуть в 21 другую папку.

Мои вопросы заключаются в следующем

1. Какой тип приложения лучше всего подходит для такого типа сценариев?

2. я планирую разработать его как консольное приложение и развернуть как запланированную задачу, это лучший подход? или служба Windows, или задание SQL, или даже очередь сообщений-лучший вариант?

3. Нужно ли мне вообще развертывать файловый наблюдатель или просто файловый наблюдатель позаботится обо всем даже без развертывания.

Заранее спасибо.

Что я уже пробовал:

Я ищу в интернете и спрашиваю у друзей и коллег, любая помощь очень ценится, может быть, фрагмент кода, ссылка или даже предложение будут полезны.

[no name]

1. Почему вы спрашиваете, когда ваш ответ-Вопрос 2?
2. Да.
3. Как вы думаете, что это за файловый наблюдатель? Мы понятия не имеем, о чем вы думаете.
Попробуйте прочитать FAQ.

Maciej Los

Консольное приложение-хорошая альтернатива. Я бы создал таблицу для хранения имен импортированных файлов. После успешного импорта я бы предложил удалить импортированный файл или переместить его в другую локализацию.

4 Ответов

Рейтинг:
32

David_Wimbley

Я предполагаю, что под FileWatcher вы говорите о FileSystemWatcher C#.

Цитата:
1. Какой тип приложения лучше всего подходит для такого типа сценариев?


Я бы порекомендовал службу windows. Единственное, что вам нужно, - это какой-то способ убедиться, что служба выключена, что вы предупреждены об этом, по моему мнению

Цитата:
2. я планирую разработать его как консольное приложение и развернуть как запланированную задачу, это лучший подход? или служба Windows, или задание SQL, или даже очередь сообщений-лучший вариант?


Учитывая, что класс FileSystemWatcher в C# будет постоянно отслеживать каталог на предмет изменений и поднимать оповещения об этих изменениях, выполнение консольного приложения, работающего по расписанию, противоречит цели FileSystemWatcher.

Цитата:
3. Нужно ли мне вообще развертывать файловый наблюдатель или просто файловый наблюдатель позаботится обо всем даже без развертывания.


Вам нужно развернуть FileSystemWatcher так, как вы считаете нужным. Если вы делаете это как сервис, консольное приложение, Задание, его нужно будет развернуть.


Maciej Los

5ед!

Рейтинг:
21

Maciej Los

Пожалуйста, сначала прочтите мой комментарий к этому вопросу.

Кажется, CP KB полон решений, более или менее подходящих для вас:
Использование FileSystemWatcher для мониторинга нескольких каталогов[^]
C#: приложение для просмотра файла или каталога с помощью filesystem Watcher[^]
Как реализовать простую службу filewatcher Windows на языке C#[^]


Рейтинг:
19

Wendelius

Если вам нужно только внести изменения в данные в базе данных SQL Server, я бы рассмотрел возможность использования SSIS. Конечно, можно создать программу или службу и запустить ее в непрерывном цикле, чтобы при необходимости вносить изменения.

Учитывая, что вы используете Lesat Standard Edition, у вас уже есть аналогичные возможности в SQL Server. Службы SSIS можно использовать как для мониторинга папок, так и для запуска задач при возникновении изменений.

Для получения дополнительной информации взгляните на Задача "отслеживание событий WMI" [^] и WMI Event Watcher SSIS-YouTube[^]


Maciej Los

5ед!

Wendelius

Спасибо :)

Рейтинг:
0

indian143

Спасибо за все ваши предложения, друзья мои, я постараюсь использовать все это и постараюсь создать из этого лучшее и подходящее решение. Еще раз спасибо.


Karthik_Mahalingam

Воспользуйся  У вас есть вопрос или комментарий ?  кнопка в решениях для ответа пользователям.
Не используйте виджет решения, пожалуйста, удалите его.

Maciej Los

Это не ответ. Пожалуйста, удалите его, чтобы избежать понижения голоса.