|
![]() |
#1 |
MCTS
|
Про фоб не помню, но выгрузку/загрузку блоб полей практиковали тут: Создание записи в таблице Object
Там же есть ссылка на Changing Objects on the Fly (COOF) |
|
![]() |
#2 |
Участник
|
Цитата:
Сообщение от apanko
![]() Про фоб не помню, но выгрузку/загрузку блоб полей практиковали тут: Создание записи в таблице Object
Там же есть ссылка на Changing Objects on the Fly (COOF) Там речь идет о вставке новой таблицы и ее создании средствами NAV. Тут же речь принципиально о том, чтобы внести существующую таблицу из разработческой БД на рабочую БД. И сделать это можно так, как я описал. По крайней мере - этот метод реально работает ![]()
__________________
"И лишь патологоанатом не берет работу на дом" (с) Вишневский |
|
![]() |
#3 |
Участник
|
Цитата:
Интересно посмотреть на реализацию ![]() ![]() ![]() |
|
![]() |
#4 |
Участник
|
Цитата:
А реализация простая.. Что уж таить то ![]() Предположим, что в таблице А на разработческой БД добавилось поле, которого нет в таблице А на рабочей БД. 1. Выгружаем BLOB из одной БД. Сохраняем его в файл. 2. В другой БД загружаем этот файл используя сначала CLEAR(BLOB), а потом BLOLB.IMPORT. 3. Делаем на таблице Object MODIFY(TRUE). 4. Смотрим в таблицу в рабочей БД. 5. Видим поле ![]() 6. Вуаля ![]() Аналогично со вставкой. Главная изюминка в том, что нельзя делать INSERT для таблицы с пустым BLOB полем, так как таблица (в отличие, например, от отчета) не может существовать пустой. Хотя бы одно поле должно быть. А вторая изюминка, нужно триггеры INSERT, MODIFY. DELETE нужно запускать с TRUE для таблицы Object, так как на этих триггерах висят разные интересные вещи ![]()
__________________
"И лишь патологоанатом не берет работу на дом" (с) Вишневский |
|
![]() |
#5 |
Участник
|
Цитата:
Сообщение от FoxSoft2005
![]() Получилось. Таблица создается (если ее не было) и поля добавляются, если она была, но какого-то поля не было.
А реализация простая.. Что уж таить то ![]() Предположим, что в таблице А на разработческой БД добавилось поле, которого нет в таблице А на рабочей БД. 1. Выгружаем BLOB из одной БД. Сохраняем его в файл. 2. В другой БД загружаем этот файл используя сначала CLEAR(BLOB), а потом BLOLB.IMPORT. 3. Делаем на таблице Object MODIFY(TRUE). 4. Смотрим в таблицу в рабочей БД. 5. Видим поле ![]() 6. Вуаля ![]() Аналогично со вставкой. Главная изюминка в том, что нельзя делать INSERT для таблицы с пустым BLOB полем, так как таблица (в отличие, например, от отчета) не может существовать пустой. Хотя бы одно поле должно быть. А вторая изюминка, нужно триггеры INSERT, MODIFY. DELETE нужно запускать с TRUE для таблицы Object, так как на этих триггерах висят разные интересные вещи ![]() ![]() Как бы так сделать, чтобы из одной базы автоматом заливать изменения в другую ![]() |
|
![]() |
#6 |
Участник
|
|
|
![]() |
#7 |
Участник
|
|
|
![]() |
#8 |
Участник
|
Цитата:
И такое умеет? ![]()
__________________
"И лишь патологоанатом не берет работу на дом" (с) Вишневский |
|