Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Использование DTS, как путь в сумасшедший дом / 10 сообщений из 10, страница 1 из 1
13.03.2002, 13:35
    #32025102
Андрей
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование DTS, как путь в сумасшедший дом
Низкий поклон всем советчикам по поводу DTS, начитавшись документации, по ентому самому DTS, и приступив к реализации через 3 дня я понял, что если меня не вынесут ногами вперёд, то минимум я прибью начальника. Значит, что получаеться 23 филиала нашей конторы работают на программе написанной на Clipere,(ну что тут поделаешь-наследство, уничтожение которого иногда вопрос политический -))) кто сталкивался поймёт), кажный месяц снимаеться версия базы у каждого из филиалов и перекачёвывает, на наш сервер по каталогам соответствующим месяцу - итог 23 филиала * на 12 месяцев = 276 каталогов и соответственно 276 отдельных баз и табличек. (В истерике - я убью тебя лодочник-)))))) Так вот, шоб енто дело всё перенести на SQL Serv ессесено сделав определённые преобразования и выборки(в том числе решить промблемку 866->1251 ну да это меньшее из зол) сколько Connection и Taskов построить надобно? вооот. Ех, люблю я свою работу. Скажите во дурачина, да слить для начала всё в один флакон и качай себе приспокойно на Sqlserv. Это конечно так, только вот вопрос, а на кой чёго-то писать на SQL, если написав сотню строк кода "я буду иметь дома удобную и надёжную технику-))))" в лице COM servera. Вот вам и вариант когда на первый взгляд правильное решение ни есть умное.
...
Рейтинг: 0 / 0
13.03.2002, 13:40
    #32025103
Glory
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование DTS, как путь в сумасшедший дом
сколько Connection и Taskов построить надобно? вооот.
А о динамическом изменении любых параметров любого объекта DTS вы слышали ?
...
Рейтинг: 0 / 0
13.03.2002, 13:46
    #32025105
Андрей
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование DTS, как путь в сумасшедший дом
Чёрт,чёрт,чёрт, уж простите за бурю эмоций, подскажите пожалуйста где можно прочитать про это?
...
Рейтинг: 0 / 0
13.03.2002, 14:01
    #32025109
Glory
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование DTS, как путь в сумасшедший дом
Возможно
1. доступаться к объектам DTS, например, в ActiveX Script Task. Описание объектов в BOL - DTS Programming - DTS Programming Reference - и далее по всем объектам. Но здесь понадобиться некоторая сноровка и опыт, т.к. придется разобраться с "внутренней логикой" DTS-а

2. в SQL2000 использовать Dynamic Properties Task и Global Variables(и не только) без собственно

Можно подумать и о разбиении задачи на несколько DTS пакетов, т.к. в SQL2000 появиласть возможность передавать при запуске DTS значения для Global Variable.

Кроме того, можно использовать linked server, создавая и удаляя его в цикле, для каждого из 276 каталогов (список каталогов можно и таблицу запихнуть).
...
Рейтинг: 0 / 0
14.03.2002, 06:37
    #32025158
snake
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование DTS, как путь в сумасшедший дом
Сталкивались... правда обьемы меньшие.
Теперь по делу.
кажный месяц снимаеться версия базы у каждого из филиалов и перекачёвывает, на наш сервер
А есть ли необходимость делать DTS пакеты на каждую версию?
Если структура одинакова, то проблема только источнике данных. У меня на каждую таблицу - 1 пакет ( с кучей
проверок, условий и т.д. Данные после FoxPro приходится вылизывать). В каждом пакете Connection на
источник данных содержит файловый DSN (ODBC). (Просто подсовывешь ему разные dbf)

1. доступаться к объектам DTS, например, в ActiveX Script Task.
2. в SQL2000 использовать Dynamic Properties Task и Global Variables(и не только) без собственно
Можно подумать и о разбиении задачи на несколько DTS пакетов, т.к. в SQL2000 появиласть возможность передавать при запуске DTS значения для Global Variable.

Сие требует немало времени, но подумай стоит ли задача перевода данных таких затрат. (Это полезно только лишь для твоей квалификации)
А вот в можно использовать linked server, создавая и удаляя его в цикле, для каждого из 276 каталогов
есть своё зерно разума, похоже на мое решение (не требует создания файлового DSN и копирования таблиц)
Просто я когда делал, ничего не знал о linked server. Да ктому же это потребует SQL2K.
Вообщем я бы создавал linked server и в каждом пакете Connection настраивал бы на него.
...
Рейтинг: 0 / 0
14.03.2002, 09:19
    #32025191
qu-qu
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование DTS, как путь в сумасшедший дом
>> Вообщем я бы создавал linked server и в каждом пакете Connection настраивал бы на него.

Тогда уж - придется создавать и linkedsrvlogin... а потом - и дропать все это "хозяйство" по мере смены динамических настроек...

Если уж речь идет о табличках *.DBF в разных каталогах - то, ИМХО, проще динамически настраивать запросы к OPENROWSET, чем к linked server... Эффект - тот же самый, а возни - не в пример меньше...

З.Ы. Только к DTS это уже не имеет никакого отношеия...
...
Рейтинг: 0 / 0
14.03.2002, 09:31
    #32025195
Glory
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование DTS, как путь в сумасшедший дом
Только опять же

OPENROWSET does not accept variables for its arguments.
...
Рейтинг: 0 / 0
14.03.2002, 12:22
    #32025238
Андрей
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование DTS, как путь в сумасшедший дом
>Сталкивались... правда обьемы меньшие.
>Теперь по делу.
>кажный месяц снимаеться версия базы у каждого из филиалов и перекачёвывает, на наш сервер
>А есть ли необходимость делать DTS пакеты на каждую версию?
>Если структура одинакова, то проблема только источнике данных. У меня на каждую таблицу - 1 пакет ( с кучей
>проверок, условий и т.д. Данные после FoxPro приходится вылизывать). В каждом пакете Connection на
>источник данных содержит файловый DSN (ODBC). (Просто подсовывешь ему разные dbf)

Хорошо, то что идеальнейшим вариантом было бы подстановка путей в DataSource конекшина это понятно , понятно что хорошо бы пути хранить где нить в таблице, у меня так и было сделано только естественно не на Sql, видимо мне не хватает ещё знаний, но не пойму я, изменять параметры любого обьекта DTS можно откуда? Если пользоваться Dynamic Properties Task выходит для того чтобы изменять параметр n-ое количество раз нужно опять же выстраивать цепочку ентих самых тасков. Может быть написание скриптов меня бы и спасло, но пока Vb скриптов писать не приходилось. Прости бога ради, но каким образом "(Просто подсовывешь ему разные dbf)" можно реализовать не строя частакол из Dynamic Properties Task. Ну вот такая у меня литература под рукой, зарание прошу прощения.
...
Рейтинг: 0 / 0
14.03.2002, 12:53
    #32025244
Glory
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование DTS, как путь в сумасшедший дом
Если пользоваться Dynamic Properties Task выходит для того чтобы изменять параметр n-ое количество раз нужно опять же выстраивать цепочку ентих самых тасков
А вы пару топиков вниз читали тему ?
http://www.sql.ru/cgi-bin/UltraBoard/UltraBoard.pl?Action=ShowPost&Board=mssql&Post=4611&Idle=365&Sort=0&Order=Descend&Page=0

Вкратце
Если мы имеем 276 каталогов идентичных по своему составу, которые должны обрабатываться одинако, то
1. Создаем DTS для обработки одного каталога(вроде как "рыбу")
2. Зацикливаем этот же DTS, выбирая информацию о коннектах(и может быть еще о чем-то) из вспомогательной справочной таблицы

Таким образом, если все филиалы генерируют единообразные как по количеству так и по структуре файлы, то добавление нового филиала есть лишь добавление записи в справочную таблицу с параметрами размещения данных для нового филиала
Опять же исправление алгоритма добавления данных(появился новый файл или поле) сводится к исправлению DTS-"шаблона"

Тоже самое можно получить, если справочная таблица с перечнем филиалов будет содержать параметры для создания linked server-а. Тогда головная процедура обработки в цикле создает linked server с одним и тем же именем, но с разными установками и запускает . А собственно процедуры обработки данных всегда работают с текущим linked server-ом.



DTS-"шаблон" с циклом можно применять и для обработки однородных файлов. Это к тому, что если у вас вдруг уже в данных одного филиала имеются такие файлы(например, проводки за каждый день офрмлены в виде отдельного файла).


ЗЫ
IMHO DTS (особенно SQL2000) это очень мощное орудие импорта-экспорта. Прото надо "прочуствовать" всю его прелесть. Недостатки и баги тоже конечно есть, но но но.... Лично я для импорта/эксорта использую только DTS, за редким исключением прибегая к linked server-ам.
...
Рейтинг: 0 / 0
14.03.2002, 13:28
    #32025248
Андрей
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование DTS, как путь в сумасшедший дом
Нда..... сколько нервов, а как всё просто оказалось... Спасибо
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Использование DTS, как путь в сумасшедший дом / 10 сообщений из 10, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]