Имя: Пароль:
1C
1С v8
Ошибка при создании COMОбъект("ADODB.Connection"). Класс не зарегистрирован
0 Dmitry_333
 
19.04.19
10:57
Всем доброго дня!

Господа, выручайте, пожалуйста-)

Написал обработку на своем компе, все отлично работает. Перенес на комп с ОС winserver 2008  и началось. Выдает вышеописанную ошибку. Перерегистрировал под админом все возможные dll-ки, начиная от comcntr до всех в папке C:\Program Files (x86)\Common Files\System\ado. Скачал и переустановил MDAC. Никакого результата.
Дабы отсечь варианты, соединение com V83.Comconnector создается, проверял. Проблема именно с ADODB.Connection. Инет весь перерыл, но ответ ничего не помогло, помогите пожалуйста.
1 Skylark
 
19.04.19
11:18
1. Нужного объекта всё же не зарегистрировано
2. На нужный объект нет прав у пользователя от имени которого 1С
2 Dmitry_333
 
19.04.19
11:36
(1) 1. Как понять, какой тогда объект нужно зарегистрировать?
2. От админа все делаю.
3 Skylark
 
19.04.19
12:03
(2) От админа ты запускаешь 1С. Не знаю как насчет файловой 1С, а в серверном варианте надо проверять права пользователя под которым запускается агент сервера 1С вроде. Там создается служебный 1cv8user или что-то в этом духе.
4 Dmitry_333
 
19.04.19
12:05
(3) Файловая у меня...
5 Dmitry_333
 
19.04.19
12:44
Вот сейчас еще проверил создание COMОбъект("EXCEL.Application").

Тоже работает.

Проблема только с гребаным  ADODB.Connection
6 1Сергей
 
19.04.19
12:48
msado15.dll тоже зарегал?
7 Dmitry_333
 
19.04.19
12:56
(6) ага, его в первую очередь
8 NorthWind
 
19.04.19
13:33
(0) битность того что регали совпадает с битностью 1С?
9 NorthWind
 
19.04.19
13:37
Если вы ставите мдак, то рискну предположить что библиотека адо 32-битная. А процесс 1С, из-под которого вы создаёте объект - тоже? Должен быть тоже 32 бита.
10 Dmitry_333
 
19.04.19
13:56
(8) Операционка 64, 1С 32. Регал соответственно: C:\Windows\SysWOW64\regsvr32 «C:\Program Files (x86)\и т.д.
11 Сияющий в темноте
 
19.04.19
14:57
пишем простой скритп на vbscript

Set o=CreateObject("AdoDb.Connection")

запускаем его через wscript.exe из system32 и из SysWow64 и смотрим на результат.

добиваемся,чтобы не было ошибок.

если работает из system32, то зарегана 64битная версия,если из syswow64,то 32 битная,если не откуда,то ничего не зарегано.
12 Dmitry_333
 
19.04.19
15:34
(11) Проделал. Запускал из командной строки. Из system32 не выдало никаких сообщений, ни ошибок. Это значит сработало?
Из SysWow64 вышло окно с ошибкой, что невозможно создание объекта контейнером ActiveX/
13 VS-1976
 
19.04.19
16:00
(12) У тебя это всё запускается под пользователем с правами Администратор? Если нет попробуй под пользователем с полными правами запустить. Если клиент-серверная вещь, то службу нужно запускать под пользователем с админискими правами.
14 NorthWind
 
19.04.19
16:04
(12) это значит, что у вас зарегистрирована 64-битная версия ADO, а 32-битная не зарегистрирована. Невозможно создание объекта как раз потому, что класс не зарегистрирован.
15 NorthWind
 
19.04.19
16:05
вообще это довольно странно, потому что даже под Win10 есть обе версии ADO - и 32 и 64 - "из коробки"
16 Dmitry_333
 
19.04.19
16:15
(13) Да, под админом.
(14) хм..., странно. Регистрировал строкой: C:\Windows\SysWOW64\regsvr32 "C:\Program Files (x86)\Common Files\System\ado\msado15.dll Вроде же так регистрируется 32-битные компоненты из под 64-битной ОС. Или я что-то неправильно делал?
17 Skylark
 
19.04.19
16:43
попробуй выполнить comexp.msc /32
и посмотреть есть ли там твоя компонента
18 Dmitry_333
 
19.04.19
16:51
(17) Она там есть, но потому я ее вручную там создавал
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший