|
УПП, Обработка.БлокировкаСоединенийСИнформационнойБазой ошибка выбрасивания на Χ64.
| ☑ |
0
pvase
10.08.18
✎
17:29
|
При попытке выбросить пользователей с базы с помощью обработки БлокировкаСоединенийСИнформационнойБазой выдает слелующую ошибку:
"{ОбщийМодуль.СоединенияИБКлиентСервер.Модуль(400)}: Ошибка при вызове конструктора (COMОбъект): -2147221005(0x800401F3): Недопустимая строка с указанием класса".
Платформа 8.3.12.1567 Χ64 Клиент-Серверная.
Если клиент x32 а сервер х64, то создание Com объекта происходит без проблем, но присоединиться к кластеру ему не удается, выдает следующее:
"{ОбщийМодуль.СоединенияИБКлиентСервер.Модуль(424)}: Метод объекта не обнаружен (ConnectAgent)
"
Если база на сервере x32 и клиент x32 - то все работает.
Вот привожу код (привожу код, потому что 1С чего-то забыла про порты, если они не по-умолчанию, у меня порт: 2141):
Попытка
COMСоединитель = Новый COMОбъект(ОбщегоНазначения.ИмяCOMСоединителя());
Исключение
Сообщить(ОПисаниеОшибки());
КонецПопытки;
// Подключение к агенту сервера
Попытка
АгентСервера = COMСоединитель.ConnectAgent(ИдентификаторАгентаСервера+":2141");
Исключение
Сообщить(ОПисаниеОшибки());
КонецПопытки;
|
|
1
pvase
10.08.18
✎
17:32
|
При работе 32 бытного приложения с x64 сервером V83.COMConnector ссылается на: "C:\Program Files (x86)\1cv8\8.3.12.1567\bin\comcntr.dll".
|
|
2
pvase
10.08.18
✎
17:34
|
В общем вывод такой, V83.COMConnector для x64 недоступен, а в случае сервера x64 а приложения х32 - соединиться с базой не может.
Как теперь решить этот вопрос? Пользователя хотят восстанавливать последовательность, а механизма выбросить пользователей кроме себя у них нет.
|
|
3
lubitelxml
10.08.18
✎
17:40
|
|
|
4
Cyberhawk
10.08.18
✎
17:41
|
64-битный ком-коннектор есть в дистрибутиве 64-битного сервера приложений
|
|
5
pvase
10.08.18
✎
17:49
|
(4) Спасбо, но проблема не в том, что его нет, но в папке bin есть, файл ""C:\Program Files\1cv8\8.3.12.1567\bin\comcntr.dll"" присутствует, но он почему то не хочет создаваться из под 1С.
|
|
6
lubitelxml
10.08.18
✎
17:50
|
(5) так ты его зарегь как в (3) описано
|
|
7
pvase
10.08.18
✎
18:18
|
(3) К сожалению не помогло, та же ошибка:
{ОбщийМодуль.СоединенияИБКлиентСервер.Модуль(401)}: Ошибка при вызове конструктора (COMОбъект): -2147221005(0x800401F3): Недопустимая строка с указанием класса
|
|
8
pvase
10.08.18
✎
18:19
|
Хотя уже прописал вот так:
Попытка
//COMСоединитель = Новый COMОбъект(ОбщегоНазначения.ИмяCOMСоединителя());
COMСоединитель = Новый COMОбъект("V8_ComConnector");
Исключение
Сообщить(ОПисаниеОшибки());
Сообщить(ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
КонецПопытки;
|
|
9
pvase
10.08.18
✎
18:23
|
Кстати в ERP эту функцию убрали, видимо пл этим же причинам.
|
|
10
pvase
10.08.18
✎
18:40
|
Оказывается в ERP такая функция есть и она работает, надо было базу на сервере развернуть. Вот оттуда и возьмем "рабочий код" :).
|
|
11
Cyberhawk
10.08.18
✎
20:30
|
(5) Создавать экземпляр во встроенном языке нужно в 64-битном процессе
|
|
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший