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

Откуда:
Сообщений: 14
Делаю репост в другой ветке форума:

Были две обычные базы - "Управление производственным предприятием" и "Альфа-Авто".
Размер базы АА - 5 Гбайт, УПП - 8 Гбайт.

Была создана единая конфигурация путем объединения конфигураций.
Единая конфигурация накинута на базу УПП.

Теперь стоит задача перелить данные из базы АА в "объединенную УПП + АА".

Перегрузка штатными средствами - через XML - не подходит: на тестовой баз занимает порядка 2 суток.

Начал копать в сторону перегрузки данных средствами SQL.
Первая проблемка:
- объект метаданных "Справочник.Автоработы" в базе АА хранится в таблице _Reference7.
В базе УПП он хранится в таблице _Reference31001. Так же, столбец, отвечающий за реквизит "Артикул" в таблице АА называется _Fld336, в УПП он называется уже _Fld31506.
Путем использования конструкции "ПолучитьСтруктуруХраненияБазыДанных" языка 1С получил структуры таблиц и столбцов с описанием. Написал обработку, которая сопоставляет на основании названий объектов метаданных и реквизитов эти структуры.
На выходе - таблица, описывающая соответствие таблиц и столбцов в разных базах.

Далее, открываю SSIS. Существует возможность визуально настроить соответствие таблиц и столбцов при перегрузке. Для одной из таблиц я это сделал.
Но новых таблиц порядка 500 и в каждой из них в среднем 5-10 столбцов. Настраивать соответствия вручную - адов труд.

В связи с этим вопрос к гуру SSIS - существует ли возможность "скормить" предварительно подготовленные соответствия редактору SSIS, чтобы он на основани этого настроил структуру перегрузки?
20 сен 12, 00:02    [13192941]     Ответить | Цитировать Сообщить модератору
 Re: Перегрузка данных 1с через SSIS - настройка соответствия таблиц и столбцов  [new]
HandKot
Member

Откуда: Sergiev Posad
Сообщений: 2995
по моему нет
но можно попробовать так:
создать вьюхи в БД источнике или в БД приемнике, в которых Вы и проставите правильные названия полей для приемника или источника соответственно, то сработает автомапинг полей
и в принципе можно будет обойтись обычном визардом экспорт/импорт
20 сен 12, 08:15    [13193434]     Ответить | Цитировать Сообщить модератору
 Re: Перегрузка данных 1с через SSIS - настройка соответствия таблиц и столбцов  [new]
Balbidon
Member

Откуда: Donetsk->Emerald City
Сообщений: 345
SSIS пакет можно генерировать программно. Есть стандартные сэмплы, скачать можно здесь, и в них:

..\Samples\Integration Services\Programming Samples\Control Flow\CreatePackage Sample\

И уже там можно настраивать любые преобразования.

Но совет выше про вьюхи, как мне кажется, будет намного проще.
20 сен 12, 11:07    [13194363]     Ответить | Цитировать Сообщить модератору
 Re: Перегрузка данных 1с через SSIS - настройка соответствия таблиц и столбцов  [new]
chatm
Member

Откуда: Москва
Сообщений: 480
Мельников Леонид,

месье знает толк в извращениях :)

а что помешало воспользоватся КД? тем более для схожих конфигураций это самый простой путь.

В случае очень больших данных сначала можно перетащить НСИ, затем док-и, затем движения по регистрам.
20 сен 12, 11:59    [13194856]     Ответить | Цитировать Сообщить модератору
 Re: Перегрузка данных 1с через SSIS - настройка соответствия таблиц и столбцов  [new]
Мельников Леонид
Member

Откуда:
Сообщений: 14
перегрузка через XML на тестовой базе заняла около 2 суток - а у меня на все про все 12 часов - от заката до рассвета.
20 сен 12, 12:25    [13195069]     Ответить | Цитировать Сообщить модератору
 Re: Перегрузка данных 1с через SSIS - настройка соответствия таблиц и столбцов  [new]
chatm
Member

Откуда: Москва
Сообщений: 480
Мельников Леонид,

первое что приходит в голову - можно выгрузки сделать параллельными и на разных машинах. В базе загрузки включить монопольный режим (отключится контроль блокировок) и отключить использование итогов.
20 сен 12, 12:58    [13195355]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить