17.02.2010, 14:38 | #1 |
MCTS
|
Синхронизация
Есть такая ситуация:
SQLDictionary соотвествует АОТ. Но структура каждой таблицы в базе отличается от описания его в SQLDictionary. Например: Есть таблица, у которой 5 полей. В АОТ так оно и есть, в sqlDictionary то же самое. Но в БД эта таблица имеет 3 поля. Как сделать так, чтобы в базе появились эти 2 недостающих поля? Первый вариант, удалить строки в SQLDictionary, указывающие на эти 2 поля. Тогда при синхронизации таблицы аксапта создаст поля в БД. Это все работает, если бы не одно но. Подобных таблиц очень много. И проверять каждую и удалять в SQLDictionary строки уйдет очень много времени. Есть какие-нибудь другие решения:? |
|
17.02.2010, 15:15 | #2 |
Участник
|
А если удалить весь SQLDictionary?
|
|
17.02.2010, 15:32 | #3 |
MCTS
|
Цитата:
А если удалить весь SQLDictionary?
Последний раз редактировалось Eldar9x; 17.02.2010 в 15:36. |
|
17.02.2010, 15:36 | #4 |
Участник
|
А из формы СКЛ администрирования пробовали запускать синхронизацию (Исправление/Синхронизацию)?
|
|
|
За это сообщение автора поблагодарили: Eldar9x (5). |
17.02.2010, 15:37 | #5 |
Administrator
|
А после удаления SQLDictionary нужно выполнить процедуру "Проверка/Синхронизация" в Администрировании-Периодические операции.
В 4.0 SP2 этот пункт меню запретили, но его можно легко разрешить. Только удалять SQLDictionary надо при запущенной АХ
__________________
Возможно сделать все. Вопрос времени |
|
|
За это сообщение автора поблагодарили: Eldar9x (5), S.Kuskov (1). |
17.02.2010, 16:00 | #6 |
MCTS
|
Проверка/синхронизация еще не пробовал. А с какими параметрами ее запустить?
|
|
17.02.2010, 16:01 | #7 |
Участник
|
Цитата:
Там была бага которая портила данные. И вместо того чтобы её вылечить - отключили нафиг всю функцию. (К счастью это только для 4-ки) |
|
17.02.2010, 16:06 | #8 |
MCTS
|
так а альтернативы все равно нет, разве что джоб написать, который пройдется по таблицам и удалит неверные записи из sqlDictionary
|
|
17.02.2010, 16:13 | #9 |
Участник
|
|
|
17.02.2010, 16:16 | #10 |
Участник
|
Цитата:
Сообщение от Eldar9x
Первый вариант, удалить строки в SQLDictionary, указывающие на эти 2 поля. Тогда при синхронизации таблицы аксапта создаст поля в БД. Это все работает, если бы не одно но. Подобных таблиц очень много. И проверять каждую и удалять в SQLDictionary строки уйдет очень много времени. Есть какие-нибудь другие решения:?
Ну, да, относительно долго писать этот скрипт. Но выполняться он будет очень быстро. |
|
17.02.2010, 16:32 | #11 |
Administrator
|
Цитата:
Цитата:
Check Synchronize loses notes in DocuRef - DISABLE this functionality
1. Как-то на моей памяти не так много людей пользовались функионалом примечаний (не путать с прикрепленными документами) 2. Я все галки снимаю - и в общем-то самой коррекцией/синхронизацией не предлагаю пользоваться. А убивает данные именно синхронизация, а не восстановление SQL Dictionary. Так что в данном случае - можно не бояться.
__________________
Возможно сделать все. Вопрос времени Последний раз редактировалось sukhanchik; 17.02.2010 в 16:38. |
|
|
За это сообщение автора поблагодарили: Logger (4). |
18.02.2010, 13:22 | #12 |
MCTS
|
Проверка/Синхронизация помогла. Даже sqlDictionary не пришлось чистить. Единственный ее недостаток, как оказалось, - не восстанавливается поля, созданные по EDT с массивом. Спасибо за идею!
|
|
Теги |
sqldictionary, синхронизация баз |
|
Похожие темы | ||||
Тема | Ответов | |||
Долгая синхронизация | 15 | |||
Синхронизация SP4 -> SP5 | 4 | |||
навязчивая синхронизация | 11 | |||
Репликация и синхронизация | 12 | |||
синхронизация с outlook | 7 |
|