Не работает ADO во внешней обработке, вызванной программно.... #756573


#0 by wingl
1С 8.2 ЗУП 2.5 SQL Всем привет! Ситуация следующая, создана внешняя обработка, которая запросом собирает данные и пытается все это добро выгрузить в Excel через ADO. Строка подключения выглядит следующим образом: "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+ИмяФайлаЭксель+";Extended Properties=""Excel 8.0;HDR=No;"";" Код, на котоом 1С отваливается с ошибкой: Catalog = Новый COMОбъект("ADOX.Catalog"); Catalog.ActiveConnection = СтрокаПодключения; //Ошибка возникает здесь... Данная внешняя обработка подключена к 1С через механизм "Дополнительные внешние отчеты и обработки". Если её запускать на прямую через этот механизм - всё отлично отрабатывает. Но при попытке прикрутить это добро к регламентной операции, ситуация в корне меняется. Все рушится с ошибкой:"ВнешняяОбработка.******.МодульОбъекта}: Ошибка при установке значения атрибута контекста (ActiveConnection)" Общий модуль, к которому обращается регламентное задание, является привилегированным. Подключение и вызов внешней обработки вызывается следующим кодом: Права у USR1CV8 на папку сохранения файла есть, но все равно отваливается с ошибкой. Подскажите, в какую сторону копать, уже все перепробовал. Неужели 1С не разрешает пользоваться механизмом ADO во внешних обработках, подключаемых программно?
#1 by Casey1984
Безопасный режим
#2 by ДенисЧ
На сервер драйвера Сергей Александрович будет ставить?
#3 by МимохожийОднако
А где хранятся настройки для этой обработки?
#4 by wingl
Casey1984 Безопасный режим я отключаю (это видно из кода) ДенисЧ Драйвера на сервере стоят, все ок, при ручном запуске обработки на сервере под юзером usr1cv8 все отрабатывает МимохожийОднако Не очень понял, о каких настройках идет речь...
#5 by Ёпрст
дать права на com юзверю, под которым запущена служба агента сервера..если 64 разрядная винда, то прописать коммконнектор + дать права на эксель еще там же, в компонентах com
#6 by wingl
Ёпрст Агент 1С запущен под локальным пользователем USR1CV8 на серваке приложений 1С, правильно ли я понимаю, что если я захожу под этим пользователем на этот сервак и под ним прокручиваю обработку в ручную и она отрабатывает, то это значит, что права на все драва включая com настроены верно?
#7 by wingl
Есть еще какие-нибудь идеи, коллеги? Всю голову сломал...
#8 by Ёпрст
неа
#9 by lim9
Точно вопрос с правами! у меня была подобная ситуация, нужно дать права на все возможные процессы тому пользователю, под которым все запускается.
#10 by wingl
можешь тогда поподробнее объяснить (или дать ссылочку), как и где провернуть эти настройки, буду очень признателен...
#11 by Ёпрст
#12 by Ёпрст
Сервак у тя 64 битный поди. да ?
#13 by Ёпрст
Если лень ковырятся с правами на ком объекты, запусти службу 1с от учетки админа
#14 by wingl
точно
#15 by Ёпрст
для начала
#16 by wingl
это про
#17 by Ёпрст
Ну, тебе типа такого нужно в компонентах творить
#18 by Ёпрст
дать права на эксель и еще папочки насоздавать
#19 by Ёпрст
где-то валялась более наглядная инструкция, лень искать
#20 by wingl
Я вот только одного не могу понять, если я пользуюсь ADO, то зачем мне собственно само приложение Excel? Провернул идею с папками из ссылки выше, к сожалению так и не помогло, а вот момент с настройкой DCOM пришлось пропустить, тк на сервере не установлен Excel Application...
#21 by Serginio1
Там драйвера либо 64 разрядные либо 32 разрядные. Если Ёкселя нет ставь 64 разрядные.
#22 by Serginio1
#23 by wingl
на сервере и так стоят 64 разрядные драйвера
#24 by Serginio1
А для Microsoft.Jet.OLEDB.4.0 появились 64 разрядные дрова?
#25 by Serginio1
#26 by wingl
Произошла исключительная ситуация (ADOX.Catalog): Provider cannot be found. It may not be properly installed.
#27 by Serginio1
Значит не установлен
#28 by wingl
В ветке регистра из твоей ссылки установлен правильный путь до библиотеки ADO (C:Program FilesCommon FilesMicrosoft SharedOFFICE14ACEOLEDB.DLL) Файл реально там лежит. В установленных программах висит Microsoft Access db engine 2010. Даже не знаю, как еще проверить, установлен он или нет )))
#29 by wingl
Чисто на всякий случай спрошу, вдруг уже реально перегрелся. Все это я должен провернуть на app сервере 1С?
#30 by Serginio1
Конечно, проблема то у тебя с регламентным заданием которое крутится в 64 разрядно процессе на сервере 1С
#31 by wingl
Ну тогда все правильно
#32 by Serginio1
#33 by wingl
Есть! Фоновое задание пошло! Выручила установка следующий драйверов Serginiol ОГРОМНОЕ ТЕБЕ ЧЕЛОВЕЧЕСКОЕ СПАСИБО!!! Всем участвующим тоже безумно благодарен! Уверен, что эта информация еще ни раз кому-нибудь пригодится!
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С