Ошибка при выполнении com соединения.
(10)Добрый день. Пытаюсь выполнить соединение к базе. Две базы локальные.
При попытке соединения с COM-сервером произошла следующая ошибка: ОбщийМодуль.ЦЗС_ОбщегоНазначения.Модуль(81). Ошибка при вызове метода контекста (Connect).
ТекСомОбъект=ТекСомПодключение.Connect(СтрокаПодключения);
по причине Произошла исключительная ситауция (v83.comconnector.1). Ошибка при вызове конструктора ComОбъект.
При попытке соединения с COM-сервером произошла следующая ошибка: ОбщийМодуль.ЦЗС_ОбщегоНазначения.Модуль(81). Ошибка при вызове метода контекста (Connect).
ТекСомОбъект=ТекСомПодключение.Connect(СтрокаПодключения);
по причине Произошла исключительная ситауция (v83.comconnector.1). Ошибка при вызове конструктора ComОбъект.
По теме из базы знаний
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Делайте лучше через HTTP сервисы, оно проще будет.
Если через ком, то необходимо проверить что у вас зарегистрирована компонента comcntr.dll, с соответствием версии используемой платформы.
Если через ком, то необходимо проверить что у вас зарегистрирована компонента comcntr.dll, с соответствием версии используемой платформы.
(3)
Там где обрабатывается подключение, если на сервере, то смотреть на сервере
Панель управления - администрирование - службы компонентов - приложения com + - V83COMConnector есть такое?
Если есть, разворачиваем и заходим в свойства V83.COMConnector.1, там проверяем на вкладке общие, что путь DLL указать к используемой версии платформы, на вкладке безопасность - не стоит галочка "принудительная проверка доступа"
Там где обрабатывается подключение, если на сервере, то смотреть на сервере
Панель управления - администрирование - службы компонентов - приложения com + - V83COMConnector есть такое?
Если есть, разворачиваем и заходим в свойства V83.COMConnector.1, там проверяем на вкладке общие, что путь DLL указать к используемой версии платформы, на вкладке безопасность - не стоит галочка "принудительная проверка доступа"
(9)Снимите галочку, если не поможет, то установите заново используя инструкцию тут -
http://novichok1c.ru/ustranenie-oshibki-pri-podklyuchenii-k-baze-dannyh-1s-cherez-com-soedinenie
Думаю понятно, что инструкция для 82 и все слова нужно заменить на 83
Думаю понятно, что инструкция для 82 и все слова нужно заменить на 83
вообще базы файловые, лежат локально на сервере 1с. (тестирую пока так, планируется выполнять на серверном варианте, но т.к. там тоже ошибки вывалились, пока локально проверяю).в файловом варианте на моем компе все работает.
Функция ПолучитьСтруктуруПодключения_Авто(КаталогИБДляПодключения="") Экспорт
КаталогИнформационнойБазыДляПодключения = КаталогИБДляПодключения ; // (Для серверного подключения = "")
АутентификацияWindowsИнформационнойБазыДляПодключения = Ложь;
//ВерсияПлатформыИнформационнойБазыДляПодключения = "V82";
ВерсияПлатформыИнформационнойБазыДляПодключения = "V83";
Если ПустаяСтрока(КаталогИБДляПодключения) Тогда
ТипИнформационнойБазыДляПодключения = ЛОЖЬ ; //Истина; //(Для серверного подключения = ЛОЖЬ)
ИмяСервераИнформационнойБазыДляПодключения = "server_1c" ;
ИмяИнформационнойБазыНаСервереДляПодключения = "zupczs" ;
Иначе
ТипИнформационнойБазыДляПодключения = Истина; //(Для серверного подключения = ЛОЖЬ)
ИмяСервераИнформационнойБазыДляПодключения = "" ;
ИмяИнформационнойБазыНаСервереДляПодключения = "" ;
КонецЕсли;
ПользовательИнформационнойБазыДляПодключения = "Администратор" ;
ПарольИнформационнойБазыДляПодключения = "19911972" ; //
СтруктураПодключения = Новый Структура();
//Если РаботаПринята() Тогда
СтруктураПодключения.Вставить("ФайловыйРежим" , ТипИнформационнойБазыДляПодключения); //
СтруктураПодключения.Вставить("АутентификацияWindows" , АутентификацияWindowsИнформационнойБазыДляПодключения); //
СтруктураПодключения.Вставить("КаталогИБ" , КаталогИнформационнойБазыДляПодключения);
СтруктураПодключения.Вставить("ИмяСервера" , ИмяСервераИнформационнойБазыДляПодключения);
СтруктураПодключения.Вставить("ИмяИБНаСервере" , ИмяИнформационнойБазыНаСервереДляПодключения);
СтруктураПодключения.Вставить("Пользователь" , ПользовательИнформационнойБазыДляПодключения);
СтруктураПодключения.Вставить("Пароль" , ПарольИнформационнойБазыДляПодключения);
СтруктураПодключения.Вставить("ВерсияПлатформы" , ВерсияПлатформыИнформационнойБазыДляПодключения);
// КонецЕсли;
Возврат (СтруктураПодключения) ;
КонецФункции // ПолучитьСтруктуруПодключения()
//++ BIK:CSZ 31.12.2018 подключение к информационной базе с помощью COM соединения
Функция ПодключитсяКИнформационнойБазе(СтруктураПодключения, СтрокаСообщенияОбОшибке = "") Экспорт
Перем СтрокаПодключения;
ПараметровДостаточно = ОпределитьДостаточностьПараметровДляПодключенияКИнформационн ойБазе(СтруктураПодключения, СтрокаПодключения, СтрокаСообщенияОбОшибке);
Если Не ПараметровДостаточно Тогда
Возврат Неопределено;
КонецЕсли;
Если Не СтруктураПодключения.АутентификацияWindows Тогда
Если НЕ ПустаяСтрока(СтруктураПодключения.Пользователь) Тогда
СтрокаПодключения = СтрокаПодключения + ";Usr = """ + СтруктураПодключения.Пользователь + """";
КонецЕсли;
Если НЕ ПустаяСтрока(СтруктураПодключения.Пароль) Тогда
СтрокаПодключения = СтрокаПодключения + ";Pwd = """ + СтруктураПодключения.Пароль + """";
КонецЕсли;
КонецЕсли;
//"V8" или "V81"
ОбъектПодключения = СтруктураПодключения.ВерсияПлатформы;
СтрокаПодключения = СтрокаПодключения + ";";
Попытка
//#Если Клиент Тогда
//Состояние("Идет процесс соединения ...");
//#КонецЕсли
ОбъектПодключения = ОбъектПодключения +".COMConnector";
Попытка
ТекCOMПодключение = Новый COMОбъект(ОбъектПодключения);
Исключение
Сообщить("Ошибка создания объекта "+ОбъектПодключения+" !") ;
Сообщить( ОписаниеОшибки() ) ;
КонецПопытки;
ТекCOMОбъект = ТекCOMПодключение.Connect(СтрокаПодключения);
//#Если Клиент Тогда
//Состояние("Соединение установлено");
//#КонецЕсли
Исключение
СтрокаСообщенияОбОшибке = "При попытке соедиения с COM-сервером произошла следующая ошибка:" + Символы.ПС
+ ОписаниеОшибки();
//#Если Клиент Тогда
Сообщить(СтрокаСообщенияОбОшибке, СтатусСообщения.Важное);
//Состояние("Соединение установить не удалось");
//Состояние();
//#КонецЕсли
Возврат Неопределено;
КонецПопытки;
Возврат ТекCOMОбъект;
Показать
(25)Круто :-)
Попробуйте так
(25)
Может ошибка тут
Попробуйте так
СоединениеСБазой = Новый COMObject("V83.COMConnector");
ПараметрыДоступа = "Srvr="+ Объект.Сервер +";Ref=" + Объект.База +";Usr=" + Объект.Пользователь + ";Pwd=" + Объект.Пароль +";";// если серверный
ПараметрыДоступа = "File=""E:\users\InfoBase"";Usr=" + Объект.Пользователь + ";Pwd=" + Объект.Пароль +";"; // если файловый
Попытка
База = СоединениеСБазой.Connect(ПараметрыДоступа);
Возврат База;
Исключение
Сообщить(ОписаниеОшибки());
Возврат Ложь;
КонецПопытки;
Показать(25)
//"V8" или "V81"
ОбъектПодключения = СтруктураПодключения.ВерсияПлатформы;
СтрокаПодключения = СтрокаПодключения + ";";
ОбъектПодключения = СтруктураПодключения.ВерсияПлатформы;
СтрокаПодключения = СтрокаПодключения + ";";
Может ошибка тут
сначала запускаем командную строку от администратора
пишем regsvr32 comcntr.dll -u
потом
cd c:\windows\SysWOW64\
regsvr32 c:\progra~2\1cv8\номерПлатформы\bin\comcntr.dll
если платформа 64битная тогда
regsvr32 c:\progra~1\1cv8\номерПлатформы\bin\comcntr.dll
пишем regsvr32 comcntr.dll -u
потом
cd c:\windows\SysWOW64\
regsvr32 c:\progra~2\1cv8\номерПлатформы\bin\comcntr.dll
если платформа 64битная тогда
regsvr32 c:\progra~1\1cv8\номерПлатформы\bin\comcntr.dll
Немного не тот случай, но можете глянуть мою тему одним глазком. Тоже в свое время мучился почему не подключается по COM, а вдруг.
https://forum.infostart.ru/forum9/topic115602/#message1197631
Должно быть все просто главное соблюдать правила:
1.Версия платформ должна совпадать
2.Если 1С сервер на виртуальной машине. Одна база локально вторая на сервере, то перенести локальную базу на сервер.
3.Проверить разрядность 1С Предприятия.
4.Не использовать БЕТА версии платформ. На мой взгляд отлично работают с СОМ 8.3.10.2772 на сервере и локально 64 бит и 32 бит.
1.Версия платформ должна совпадать
2.Если 1С сервер на виртуальной машине. Одна база локально вторая на сервере, то перенести локальную базу на сервер.
3.Проверить разрядность 1С Предприятия.
4.Не использовать БЕТА версии платформ. На мой взгляд отлично работают с СОМ 8.3.10.2772 на сервере и локально 64 бит и 32 бит.
Смутно помню детали но ... На сервере при инсталляции платформы нужно установить "какую-то галочку" для COM коннектора. Если её не поставили при инсталляции, ничего не получится;
(35) вам правильно ответил (26), даже если библиотеки зарегистрировали вручную - они должны по битности соответствовать платформе, иначе платформа даже зареганные вручную использовать не будет. Регистрация х32 и х64 происходит немного по-разному (пути разные).
Внимание! Тема сдана в архив
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот