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

Откуда:
Сообщений: 18
Добрый вечер!
Может быть кто-то уже решал проблему: как периодически копировать таблицы из одной БД в другую, когда связь между ними мягко говоря отвратительная. Одна БД в Китае, другая в Германии. А производственный процесс требует решить проблему. Чисто теоретически, на уровне идей.
Архивировать и посылать почтой?
Или круглосуточно пытаться "выйти на связь"?
11 фев 12, 00:52    [12073220]     Ответить | Цитировать Сообщить модератору
 Re: DTS, копирование таблиц при плохой связи  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
Вылить данные в файл, перетянуть любым софтом с докачкой, залить данные из файла.
11 фев 12, 01:05    [12073247]     Ответить | Цитировать Сообщить модератору
 Re: DTS, копирование таблиц при плохой связи  [new]
aleks2
Guest
Helga12345
Архивировать и посылать почтой?


Вы будете смеятся, но SMTP один из двух протоколов межсайтового транспорта для синхронизации Active Directory.
Которая (AD) суть - база данных.
11 фев 12, 10:38    [12073624]     Ответить | Цитировать Сообщить модератору
 Re: DTS, копирование таблиц при плохой связи  [new]
Helga12345
Member

Откуда:
Сообщений: 18
Спасибо всем!
В Германии у нас свой почтовый сервер, но в Китае нет.
Я вообще, технический программист- приборы программирую, но последнее время на меня стали сбрасывать "неразрешимые задачи".
Нет проблемы в Китае все слить в файл, заархивировать и послать на почту сюда. Остается взять тут письмо с сервера и раскидать данные по таблицам. Не делала, но справлюсь. Смущает объем и то что решение не слишком "изящное". С другой стороны, если уж письмо дошло, то со всеми данными.
А средствами SQL Server это все делается? Я больше на LabVIEW программирую.
11 фев 12, 11:08    [12073664]     Ответить | Цитировать Сообщить модератору
 Re: DTS, копирование таблиц при плохой связи  [new]
Helga12345
Member

Откуда:
Сообщений: 18
Все же еще должно быть автоматизированно. Кто будет в ручную файлы перетаскивать. А потом это долго!
11 фев 12, 11:12    [12073667]     Ответить | Цитировать Сообщить модератору
 Re: DTS, копирование таблиц при плохой связи  [new]
aleks2
Guest
Helga12345
Я больше на LabVIEW программирую.

O! LabVIEW!
Чувствуешь себя паучком...
11 фев 12, 11:20    [12073681]     Ответить | Цитировать Сообщить модератору
 Re: DTS, копирование таблиц при плохой связи  [new]
Helga12345
Member

Откуда:
Сообщений: 18
План созрел!
Для Китая пишу пакет dts, который сливает все в файл - скрипт для архивирования - посылка файла письмом. А здесь: проверка скриптом наличие писем - крипт взять письмо, распаковать файл - из файла в БД. Все это вроде делается в Visual Studio. Целую неделю угробила на эти пакеты. Самое сложное было проводок из зеленого красным сделать!
11 фев 12, 11:33    [12073700]     Ответить | Цитировать Сообщить модератору
 Re: DTS, копирование таблиц при плохой связи  [new]
Helga12345
Member

Откуда:
Сообщений: 18
Люди, оцените хоть, правильно мыслю, или совсем решение не вписывается в концепцию SQL Server'а или еще чего. Ну просто совсем опыта нет в администрирование БД и соответственно обзора возможностей, а выживать надо.
12 фев 12, 14:13    [12076950]     Ответить | Цитировать Сообщить модератору
 Re: DTS, копирование таблиц при плохой связи  [new]
Сон Веры Павловны
Member

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

Я бы сделал так: выгрузка таблицы в файл на ftp с помощью bcp, снятие контрольной суммы файла, отсылка контрольной суммы по почте. Получаем письмо с КС, если она не совпадает с КС уже имеющегося файла - сливаем файл с ftp, помощью bcp заливаем файл в базу, делаем над залитым содержимым нужные операции.
12 фев 12, 14:55    [12077124]     Ответить | Цитировать Сообщить модератору
 Re: DTS, копирование таблиц при плохой связи  [new]
sti
Member

Откуда:
Сообщений: 769
Ну тоже вариант, хотя предлагалось все же использовать в качестве транспорта не почту, а
Гавриленко Сергей Алексеевич
перетянуть любым софтом с докачкой

Так было бы надежнее.

Вам осталось научиться распознавать ситуацию, если некое письмо не дошло, и уметь обрабатывать файлы в правильном порядке, коли пришло сразу два письма или более.
12 фев 12, 14:56    [12077130]     Ответить | Цитировать Сообщить модератору
 Re: DTS, копирование таблиц при плохой связи  [new]
Helga12345
Member

Откуда:
Сообщений: 18
Сон Веры Павловны
Helga12345,

Я бы сделал так: выгрузка таблицы в файл на ftp с помощью bcp, снятие контрольной суммы файла, отсылка контрольной суммы по почте. Получаем письмо с КС, если она не совпадает с КС уже имеющегося файла - сливаем файл с ftp, помощью bcp заливаем файл в базу, делаем над залитым содержимым нужные операции.


Мне не понятно, на какой ftp я могу выгрузить файлы. У меня есть мой личный сервер, вернее место на freenet, страницы фирмы стоят где-то и их обслуживает сторонняя организация. В рамках безопасности пользоваться неподконтрольными серверами нельзя. Свой почтовый сервер у нас точно есть. Об администрировании серверов еще меньше понятия чем об администрировании БД. Хотя в интернет-программировании опыт большой. PHP-программу напишу любую. Но как использовать мой рабочий компьютер в качестве ftp-server, мне не понятно. Только через Total Commander и "нормальный сервер".
12 фев 12, 15:47    [12077350]     Ответить | Цитировать Сообщить модератору
 Re: DTS, копирование таблиц при плохой связи  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31990
Helga12345
Но как использовать мой рабочий компьютер в качестве ftp-server, мне не понятно.
Нужно установить программу ftp-server, какую - зависит от вашей ОС.

К примеру, Window 7 уже имеет в своём составе ftp-server, ничего постороннего ставить не надо.
12 фев 12, 18:24    [12077754]     Ответить | Цитировать Сообщить модератору
 Re: DTS, копирование таблиц при плохой связи  [new]
Helga12345
Member

Откуда:
Сообщений: 18
sti
Вам осталось научиться распознавать ситуацию, если некое письмо не дошло, и уметь обрабатывать файлы в правильном порядке, коли пришло сразу два письма или более.


Этот момент я уже продумала. Полностью копировать таблицы - большой объем. Хотя таблиц всего 8. Хочу делать выборку измененных данных после последнего трансфера и отдельно все индексы для удаления всех удаленных данных. Хотя в последнем еще не уверена. Если знаешь сколько посылаешь, то и знаешь сколько получить надо.

Если есть две локальные сети с выходом в интернет и связь между ними ненадежная(китайцы не предоставляют выделенную линию), то прямая коммуникация в любом виде смысла не имеет(для больших объемов информации). Нужно организовывать передачу через третью точку, с которой обе сети имею хорошую связь. Вопрос, что это может быть за точка?

Первый вариант через SMTP. В январе делала программку на LabVIEW посылка файлов через сервер gmx. Лень людям файлы прикреплять! Надо спросить, как работает.

Второй - через ftp. Меньше нравиться, т.к. файлы будут лежать на чужом сервере.

Третий - ?
12 фев 12, 18:29    [12077774]     Ответить | Цитировать Сообщить модератору
 Re: DTS, копирование таблиц при плохой связи  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31990
Helga12345
Второй - через ftp. Меньше нравиться, т.к. файлы будут лежать на чужом сервере.
Зачем на чужом? Пусть один из серверов играет эту роль.
12 фев 12, 18:38    [12077806]     Ответить | Цитировать Сообщить модератору
 Re: DTS, копирование таблиц при плохой связи  [new]
sti
Member

Откуда:
Сообщений: 769
автор
Хочу делать выборку измененных данных после последнего трансфера и отдельно все индексы для удаления всех удаленных данных.

Ну если у вас не бывает, что удалили запись с каким-то ID, а потом с этим же ID добавили. Если бывает, то становится важным порядок.

Но вот что вы будете делать, если на источнике базу из бэкапа восстановят? Тут удаленные записи уже не вычислить. Нужно будет уметь и на принимающей стороне откатываться до какой-то версии обмена.
12 фев 12, 20:19    [12078159]     Ответить | Цитировать Сообщить модератору
 Re: DTS, копирование таблиц при плохой связи  [new]
Helga12345
Member

Откуда:
Сообщений: 18
Спасибо за обсуждение. Про bcp почитала здесь же. Схема действий понятна, завтра обсужу с администратором. Пусть сам выбирает ftp или SMTP. Без него все равно же ftp не настрою.
И зачем я dts изучала?
12 фев 12, 20:38    [12078229]     Ответить | Цитировать Сообщить модератору
 Re: DTS, копирование таблиц при плохой связи  [new]
Helga12345
Member

Откуда:
Сообщений: 18
Добрый день!
Опять вопрос. Все-таки пришлось все делать как dtxs-пакет. Возникла проблема в конце пути, можно сказать. При загрузке данных из текстового файла в таблицу непонятно как задать типы столбцов. По отдельности каждый столбец ясно как, а типа "файл формата" присоединить, непонятно. Или из БД на лету структуру таблицы получить. В ручную формат каждого столбца вводить - идиотизм полный, там таблицы по 100 полей. Что делать? Как создать и применить файл формата? Или что другое.
18 фев 12, 12:39    [12114967]     Ответить | Цитировать Сообщить модератору
 Re: DTS, копирование таблиц при плохой связи  [new]
Сон Веры Павловны
Member

Откуда:
Сообщений: 6203
Helga12345
Или из БД на лету структуру таблицы получить.

information_schema.columns/sys.all_columns?
18 фев 12, 13:00    [12115028]     Ответить | Цитировать Сообщить модератору
 Re: DTS, копирование таблиц при плохой связи  [new]
iljy
Member

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

а вы никогда не пытались читать документацию?
18 фев 12, 13:25    [12115093]     Ответить | Цитировать Сообщить модератору
 Re: DTS, копирование таблиц при плохой связи  [new]
Helga12345
Member

Откуда:
Сообщений: 18
iljy
Helga12345,

а вы никогда не пытались читать документацию?


Только и делаю, что читаю, но увы не нахожу. Дайте ссылку!
18 фев 12, 15:41    [12115522]     Ответить | Цитировать Сообщить модератору
 Re: DTS, копирование таблиц при плохой связи  [new]
iljy
Member

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

Программа bcp - параметр format
18 фев 12, 15:42    [12115531]     Ответить | Цитировать Сообщить модератору
 Re: DTS, копирование таблиц при плохой связи  [new]
Helga12345
Member

Откуда:
Сообщений: 18
iljy
Helga12345,

Программа bcp - параметр format


Илья, мой администратор еще тот администратор. Как пользоваться bcp, он не знает. Поэтому решено все делать как dtxs-пакет, сливать все в текстовый файл, архивировать. В другой БД, из текстового файла в БД. Как в текстовый файл прикрепить информацию об именах столбцов я нашла, осталось прикрепить информацию о типах столбцов. Есть еще незадейственное поле Header. Может в него?

Источник "плоский файл" -> назначение SQL Server

В каком месте задается тип столбцов. "уточняющий запрос"?

А так первый проект почти готов. Несколько скриптов на Basic написала. В апреле обещали на трехдневные курсы послать.
18 фев 12, 16:47    [12115790]     Ответить | Цитировать Сообщить модератору
 Re: DTS, копирование таблиц при плохой связи  [new]
iljy
Member

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

ваш администратор не способен выполнить простенький батник и прислать вам полученный в результате файл? В конце концов напишите батник, который будет создавать чохом выгруженные данный + файл формата, архивировать их и отправлять вам по почте.
19 фев 12, 00:56    [12117134]     Ответить | Цитировать Сообщить модератору
 Re: DTS, копирование таблиц при плохой связи  [new]
Helga12345
Member

Откуда:
Сообщений: 18
Илья, одну и ту же задачу можно решать многими методами. Я написала командную строку с вызовом всp и могу вставить там еще файл формата. Но всp еще ни разу не использовали и выполнять новые команды на действующем сервере никто не хочет. Это же не учебная модель. У меня лично нет прав.
Поставлена задача, решить проблему через dtxs пакет. Выполняю. Все. В будующем может быть будет и всp.
И так уже написала сначала на LabVIEW, а потом пришлось переписывать на Basic скрипт. LabVIEW не установлена! А согласовывала ведь свой план.
19 фев 12, 13:35    [12117942]     Ответить | Цитировать Сообщить модератору
 Re: DTS, копирование таблиц при плохой связи  [new]
aleks2
Guest
Helga12345
Поставлена задача, решить проблему через dtxs пакет.


Нахера тут dtxs?
Может я открою америку, но ADO и его наследники отлично умеют писать в файл и загружать из файла рекордсет.
19 фев 12, 13:40    [12117951]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
Все форумы / Microsoft SQL Server Ответить