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

Откуда: دمشق
Сообщений: 623
Здрасти, господа!
Система ЭДО присылает нам свои файлы в ужасном формате Paradox *.DBF

Стоит задача заливать это все дело в наш Бэкофис.

Вижу решение только в создании сервиса, который:
1) будет мониторить папку, куда ЭДО складывает отчеты,
2) далее смотрит, какие таблицы есть в уже БД, обновляет их структуру, если надо
3) добавляет новые таблици, если таковые появились
4) заливает данные
5) семафорит, если произошли проблемы.


Можно ли без особых заморочек перенести всю эту логику на Сиквелс его Агентом?
SQLCLR?
12 дек 11, 19:33    [11752529]     Ответить | Цитировать Сообщить модератору
 Re: Импорт данных  [new]
Geep
Member

Откуда: Москва
Сообщений: 975
SSIS + драйвер для Paradox
12 дек 11, 19:44    [11752578]     Ответить | Цитировать Сообщить модератору
 Re: Импорт данных  [new]
vindofs
Member

Откуда: دمشق
Сообщений: 623
Geep,

хм... а как он будет папку сканировать. Агент ЭДО создает в папке подпапки, куда складывает ежедневные результаты: например DailyRep/20110101, 20110102... и тд.
Может ли структуру таблиц обновлять...

бегло глянул на SSIS, пока не понял, как он все эти динамические моменты разрулить может...
12 дек 11, 19:56    [11752631]     Ответить | Цитировать Сообщить модератору
 Re: Импорт данных  [new]
Mnior
Member

Откуда: Кишинёв
Сообщений: 6724
Странно, что ЭДО навязывает вам вашу логику.
Мне кажется что вашей системе нужны конкретный набор данных (остальные лесом).
Поэтому модуль "импорт данных" не изменяет структуру БД, а только заливает данные.

1. Т.е. есть набор табл для заливки (допустим отделённых в схеме [Load])
2. Есть конфигурациооная таблица (мапинг) и таблица залитых файлов
3. Мониторинг новых файлов (попадание в каталог Inbox и последующее удаление/перенос).
4. Проверка структуры (иногда это моно опустить, т.к. банально не закачается при не соответсвии)
5. Конвертор DBF -> XML + заливка через XmlBulkLoad (или через Link, ну или SSPI)

Если понадобился ещё один отчёт, то тупо добавляем таблу и её конфиг (мапинг, типа шаблона имени али ещё как).
Весь внешний код, контроль каталога, конвертация, перенос и т.п. лежит тупо в одном-двух скиптовом файле (cmd/PowerShell/bat).
Всё остальное нативный скуль, в строк 500 максимум. Даже CLR тут не нужен (да и SSPI).
12 дек 11, 20:14    [11752700]     Ответить | Цитировать Сообщить модератору
 Re: Импорт данных  [new]
vindofs
Member

Откуда: دمشق
Сообщений: 623
Mnior
Странно, что ЭДО навязывает вам вашу логику.
Мне кажется что вашей системе нужны конкретный набор данных (остальные лесом).
Поэтому модуль "импорт данных" не изменяет структуру БД, а только заливает данные.

1. Т.е. есть набор табл для заливки (допустим отделённых в схеме [Load])
2. Есть конфигурациооная таблица (мапинг) и таблица залитых файлов
3. Мониторинг новых файлов (попадание в каталог Inbox и последующее удаление/перенос).
4. Проверка структуры (иногда это моно опустить, т.к. банально не закачается при не соответсвии)
5. Конвертор DBF -> XML + заливка через XmlBulkLoad (или через Link, ну или SSPI)

Если понадобился ещё один отчёт, то тупо добавляем таблу и её конфиг (мапинг, типа шаблона имени али ещё как).
Весь внешний код, контроль каталога, конвертация, перенос и т.п. лежит тупо в одном-двух скиптовом файле (cmd/PowerShell/bat).
Всё остальное нативный скуль, в строк 500 максимум. Даже CLR тут не нужен (да и SSPI).


Набор-то определенный на данный момент, это факт... Но хотелось все данные закачивать, которые приходят. Так на всякий. На сколько же легче с XML...
12 дек 11, 20:44    [11752808]     Ответить | Цитировать Сообщить модератору
 Re: Импорт данных  [new]
Mnior
Member

Откуда: Кишинёв
Сообщений: 6724
vindofs
Но хотелось все данные закачивать, которые приходят. Так на всякий.
Мда, вам делать явно нечего. Может лучше решите парочку этих.
Вы же файлы не удаляете (хотя бы не закаченные)? Если что, махом все.
vindofs
На сколько же легче с XML...
Кому как. Мне легче, быстрее, эффективнее и контролируемо раз 100500.
А вы вдруг можете споткнуться на том, что я вообще за проблему не считаю.

+ Не нужен SSPI (это катит за 10 плюсов)
+ Не нужны дрова (можно самому исправлять ошибки DBF и поддерживать все их типы)
+ Независисмость/модульность (скуль не знает о DLL, только нативный интерфейс закачки)
+ Полный контроль (всё своё, оперативно поправиль и подстроить под что либо)
+ Скорость загрузки практически максимальная и эффективная (Bulk же).
- Надо найти в нете или написать самому (уметь програмячить в данной области) конвертор (никак руки не доходят выложить)
- Надо иметь процедуру загрузки и генератор XSD, и желательно разбираться в этом
Т.е. всё вручную, основанное на своих знаниях

Сами решайте, лично мне, как попробавшему несколько вариантов и попадавший на подставы, был сделан явный выбор.
Некоторые "+" для кого-то "-".
13 дек 11, 11:24    [11754892]     Ответить | Цитировать Сообщить модератору
 Re: Импорт данных  [new]
vindofs
Member

Откуда: دمشق
Сообщений: 623
Mnior
vindofs
Но хотелось все данные закачивать, которые приходят. Так на всякий.
Мда, вам делать явно нечего. Может лучше решите парочку этих.
Вы же файлы не удаляете (хотя бы не закаченные)? Если что, махом все.
vindofs
На сколько же легче с XML...
Кому как. Мне легче, быстрее, эффективнее и контролируемо раз 100500.
А вы вдруг можете споткнуться на том, что я вообще за проблему не считаю.

+ Не нужен SSPI (это катит за 10 плюсов)
+ Не нужны дрова (можно самому исправлять ошибки DBF и поддерживать все их типы)
+ Независисмость/модульность (скуль не знает о DLL, только нативный интерфейс закачки)
+ Полный контроль (всё своё, оперативно поправиль и подстроить под что либо)
+ Скорость загрузки практически максимальная и эффективная (Bulk же).
- Надо найти в нете или написать самому (уметь програмячить в данной области) конвертор (никак руки не доходят выложить)
- Надо иметь процедуру загрузки и генератор XSD, и желательно разбираться в этом
Т.е. всё вручную, основанное на своих знаниях

Сами решайте, лично мне, как попробавшему несколько вариантов и попадавший на подставы, был сделан явный выбор.
Некоторые "+" для кого-то "-".


Явно, где-то здесь - сарказм))))
13 дек 11, 16:25    [11757923]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить