Имя: Пароль:
1C
 
Загрузка данных при обмене
0 Ser_P
 
22.09.04
18:44
Можно ли ускорить загрузку данных и как избежать ошибку загрузки возникающую при блокировке какой-то таблицы, например регистра. Пользователи должны работать с базой в момент загрузки.

Спасибо
1 Волшебник
 
22.09.04
18:59
Установи параметр "Количество элементов, обрабатываемых в одной транзакции", например, в значение 100.
2 Ser_P
 
22.09.04
19:08
А где, у объекта? Или есть атрибут глобального контекста?
3 Волшебник
 
22.09.04
20:52
При интерактивной записи или чтении сообщения обмена - в диалоговом окне. При программном - методы менеджера всех планов обмена (ПланыОбменаМенеджер):

ЗаписатьИзменения(<Запись сообщения обмена>, <Элементов в транзакции>)
ПрочитатьИзменения(<Чтение сообщения обмена>, <Элементов в транзакции>)
4 Ser_P
 
28.09.04
16:36
Не выходит. Написал:

ЧтениеСообщения = ПланыОбмена.СоздатьЧтениеСообщения();
ЧтениеСообщения.НачатьЧтение(ЧтениеXML);
ПланыОбмена.ПрочитатьИзменения(ЧтениеСообщения,100);

Ругается так:
{ПланОбмена.УдаленныеЭлеваторы(450)}: Ошибка при вызове метода контекста (ПрочитатьИзменения): Узел не является узлом распределенной ИБ

???

Кстати, а можно ускорить загрузку? (если поможет количество элементов в транзакции, то хорошо). При файле в 10-12 метров, загрузка идет час и более хоть в терминале на сервере под DBF, хоть на рабочей станции под SQL - 512 оперативки и p4 1.8?

ЧТО делать? 28 баз ежедневно!
5 Волшебник
 
28.09.04
16:59
(4) У тебя в плане обмена УдаленныеЭлеваторы стоит флаг "Распределенная база данных" ?

(5) Количество элементов в транзакции не ускоряет загрузку, оно снижает вероятность взаимных блокировок.
6 Ser_P
 
28.09.04
17:25
Спасибо, не стояла. А чем теперь это чревато для обмена и для переферийных баз? (то что не стояла)

И все-таки, ускорить можно загрузку?
7 Ser_P
 
28.09.04
17:26
Кстати, при выгрузке выдал ошибку:

{ПланОбмена.УдаленныеЭлеваторы(381)}: Ошибка при вызове метода контекста (ЗаписатьСоответствиеПространстваИмен): Ошибочный порядок записи XML
   ЗаписьXML.ЗаписатьСоответствиеПространстваИмен("xsd", "http://www.w3.org/2001/XMLSchema");
8 Волшебник
 
28.09.04
18:03
(6) Почитай http://mista.ru/v8/urbd.htm
Загрузку можно ускорить, если производить ее в монопольном режиме на мощном сервере.

(7) Приведи программный код.
9 Ser_P
 
28.09.04
18:39
Я завтра с утра продолжу, вынужден уйти. Спасибо за помощь
10 Ser_P
 
29.09.04
15:46
Функция ПрочитатьНовоеСообщение(ИмяФайла)
   
   // Создаем объект чтения XML
   ЧтениеXML = Новый ЧтениеXML;
   ЧтениеXML.ОткрытьФайл(ИмяФайла);
   
   // Загрузка из найденного файла
   ЧтениеСообщения = ПланыОбмена.СоздатьЧтениеСообщения();
   ЧтениеСообщения.НачатьЧтение(ЧтениеXML);
   ПланыОбмена.ПрочитатьИзменения(ЧтениеСообщения,100);

в этом случаеи вылетает
11 Ser_P
 
29.09.04
16:01
это я при выгрузке не писал записать изменения.
если же пишу записать изменения, тогда
такая ошибка:

{ПланОбмена.УдаленныеЭлеваторы(381)}: Ошибка при вызове метода контекста (ЗаписатьСоответствиеПространстваИмен): Ошибочный порядок записи XML
   ЗаписьXML.ЗаписатьСоответствиеПространстваИмен("xsd", "http://www.w3.org/2001/XMLSchema");



текст модуля следующий:

// Создаем новое сообщение
   ЗаписьСообщения = ПланыОбмена.СоздатьЗаписьСообщения();
   ЗаписьСообщения.НачатьЗапись(ЗаписьXML, Ссылка);
   //Если ЗаписьСообщения.Получатель.Главный Тогда
   ПланыОбмена.ЗаписатьИзменения(ЗаписьСообщения,100);
   //КонецЕсли;
       
   // Для сокращения размера файла сообщения записываем соответствие пространств имен
   ЗаписьXML.ЗаписатьСоответствиеПространстваИмен("xsd", "http://www.w3.org/2001/XMLSchema");
12 Ser_P
 
29.09.04
16:12
Как я понимаю вся фигня эта происходит из-за того, что базы раньше не были распределенными. У меня обмен был настроен без распределенных баз и все работало, но медленно.

Выходит, что "Установи параметр "Количество элементов, обрабатываемых в одной транзакции", например, в значение 100" не проходит, не могу ускориться и не могу загружать при работе других пользователей...

Верно, или я не так понимаю?