AXForum  
Вернуться   AXForum > Microsoft Dynamics NAV > NAV: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 04.07.2008, 10:01   #1  
apanko is offline
apanko
MCTS
MCBMSS
Лучший по профессии 2009
 
1,164 / 139 (7) +++++
Регистрация: 24.02.2005
Про фоб не помню, но выгрузку/загрузку блоб полей практиковали тут: Создание записи в таблице Object

Там же есть ссылка на Changing Objects on the Fly (COOF)
Старый 04.07.2008, 10:19   #2  
foxsoft2005 is offline
foxsoft2005
Участник
Аватар для foxsoft2005
 
93 / 10 (1) +
Регистрация: 21.11.2006
Цитата:
Сообщение от apanko Посмотреть сообщение
Про фоб не помню, но выгрузку/загрузку блоб полей практиковали тут: Создание записи в таблице Object

Там же есть ссылка на Changing Objects on the Fly (COOF)

Там речь идет о вставке новой таблицы и ее создании средствами NAV. Тут же речь принципиально о том, чтобы внести существующую таблицу из разработческой БД на рабочую БД. И сделать это можно так, как я описал. По крайней мере - этот метод реально работает .
__________________
"И лишь патологоанатом не берет работу на дом" (с) Вишневский
Старый 04.07.2008, 10:52   #3  
rmv is offline
rmv
Участник
 
481 / 11 (1) +
Регистрация: 15.02.2005
Цитата:
Сообщение от FoxSoft2005 Посмотреть сообщение
Там речь идет о вставке новой таблицы и ее создании средствами NAV. Тут же речь принципиально о том, чтобы внести существующую таблицу из разработческой БД на рабочую БД. И сделать это можно так, как я описал. По крайней мере - этот метод реально работает .
Неужели получилось кодом залить BLOB таблицы из одной базы в другую и при этом создается таблица (или добавляются поля)?
Интересно посмотреть на реализацию
Старый 04.07.2008, 11:49   #4  
foxsoft2005 is offline
foxsoft2005
Участник
Аватар для foxsoft2005
 
93 / 10 (1) +
Регистрация: 21.11.2006
Цитата:
Сообщение от rmv Посмотреть сообщение
Неужели получилось кодом залить BLOB таблицы из одной базы в другую и при этом создается таблица (или добавляются поля)?
Интересно посмотреть на реализацию
Получилось. Таблица создается (если ее не было) и поля добавляются, если она была, но какого-то поля не было.

А реализация простая.. Что уж таить то .

Предположим, что в таблице А на разработческой БД добавилось поле, которого нет в таблице А на рабочей БД.

1. Выгружаем BLOB из одной БД. Сохраняем его в файл.
2. В другой БД загружаем этот файл используя сначала CLEAR(BLOB), а потом BLOLB.IMPORT.
3. Делаем на таблице Object MODIFY(TRUE).
4. Смотрим в таблицу в рабочей БД.
5. Видим поле .
6. Вуаля .

Аналогично со вставкой.

Главная изюминка в том, что нельзя делать INSERT для таблицы с пустым BLOB полем, так как таблица (в отличие, например, от отчета) не может существовать пустой. Хотя бы одно поле должно быть.

А вторая изюминка, нужно триггеры INSERT, MODIFY. DELETE нужно запускать с TRUE для таблицы Object, так как на этих триггерах висят разные интересные вещи .
__________________
"И лишь патологоанатом не берет работу на дом" (с) Вишневский
Старый 04.07.2008, 14:36   #5  
rmv is offline
rmv
Участник
 
481 / 11 (1) +
Регистрация: 15.02.2005
Цитата:
Сообщение от FoxSoft2005 Посмотреть сообщение
Получилось. Таблица создается (если ее не было) и поля добавляются, если она была, но какого-то поля не было.

А реализация простая.. Что уж таить то .

Предположим, что в таблице А на разработческой БД добавилось поле, которого нет в таблице А на рабочей БД.

1. Выгружаем BLOB из одной БД. Сохраняем его в файл.
2. В другой БД загружаем этот файл используя сначала CLEAR(BLOB), а потом BLOLB.IMPORT.
3. Делаем на таблице Object MODIFY(TRUE).
4. Смотрим в таблицу в рабочей БД.
5. Видим поле .
6. Вуаля .

Аналогично со вставкой.

Главная изюминка в том, что нельзя делать INSERT для таблицы с пустым BLOB полем, так как таблица (в отличие, например, от отчета) не может существовать пустой. Хотя бы одно поле должно быть.

А вторая изюминка, нужно триггеры INSERT, MODIFY. DELETE нужно запускать с TRUE для таблицы Object, так как на этих триггерах висят разные интересные вещи .
Нет, запускать код в 2 базах неинтересно .
Как бы так сделать, чтобы из одной базы автоматом заливать изменения в другую .
Старый 07.07.2008, 17:04   #6  
romtex_imported is offline
romtex_imported
Участник
 
66 / 10 (1) +
Регистрация: 06.12.2005
Цитата:
Сообщение от rmv Посмотреть сообщение
Нет, запускать код в 2 базах неинтересно .
Как бы так сделать, чтобы из одной базы автоматом заливать изменения в другую .
Сам не пользовался, но, вроде как в репликации Ландштайнера можно настроить репликацию объектов
Старый 16.07.2008, 12:22   #7  
RedFox is offline
RedFox
Участник
 
1,441 / 10 (0) +
Регистрация: 28.12.2004
Адрес: Киев
Цитата:
Сообщение от FoxSoft2005 Посмотреть сообщение
...
А реализация простая.. Что уж таить то .
....
Аналогично со вставкой.
А теперь немного усложним задачу - залить фоб, содержащий таблицу, в БД, где уже содержится данная таблица. При этом в таблице изменено поле с Boolean на Option и таблица имеет данные ;-)
Старый 07.08.2008, 15:54   #8  
foxsoft2005 is offline
foxsoft2005
Участник
Аватар для foxsoft2005
 
93 / 10 (1) +
Регистрация: 21.11.2006
Цитата:
Сообщение от RedFox Посмотреть сообщение
А теперь немного усложним задачу - залить фоб, содержащий таблицу, в БД, где уже содержится данная таблица. При этом в таблице изменено поле с Boolean на Option и таблица имеет данные ;-)
А что, стандартный механизм заливки фоба такое умеет?

Цитата:
Сообщение от DA_NEAL Посмотреть сообщение
И еще входит в первичный ключ
И такое умеет?
__________________
"И лишь патологоанатом не берет работу на дом" (с) Вишневский
 


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 22:07.