|
Не работает ADO во внешней обработке, вызванной программно.... | ☑ | ||
---|---|---|---|---|
0
wingl
23.10.15
✎
11:06
|
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С через механизм "Дополнительные внешние отчеты и обработки". Если её запускать на прямую через этот механизм - всё отлично отрабатывает. Но при попытке прикрутить это добро к регламентной операции, ситуация в корне меняется. Все рушится с ошибкой:"ВнешняяОбработка.******.МодульОбъекта(143)}: Ошибка при установке значения атрибута контекста (ActiveConnection)" Общий модуль, к которому обращается регламентное задание, является привилегированным. Подключение и вызов внешней обработки вызывается следующим кодом: СсылкаНаВнешнююОбработку = Справочники.ВнешниеОбработки.НайтиПоНаименованию(ИмяОбработки); ДвоичныеДанные = СсылкаНаВнешнююОбработку.ХранилищеВнешнейОбработки.Получить(); ПутьОбработки = ПолучитьИмяВременногоФайла(); ДвоичныеДанные.Записать(ПутьОбработки); ВнешниеОбработки.Создать(ПутьОбработки, Ложь); //Безопасный режим выключен! внОбработка.ВыполнитьСервер(); Права у USR1CV8 на папку сохранения файла есть, но все равно отваливается с ошибкой. Подскажите, в какую сторону копать, уже все перепробовал. Неужели 1С не разрешает пользоваться механизмом ADO во внешних обработках, подключаемых программно? |
|||
1
Casey1984
23.10.15
✎
11:08
|
Безопасный режим
|
|||
2
ДенисЧ
23.10.15
✎
11:08
|
На сервер драйвера Сергей Александрович будет ставить?
|
|||
3
Мимохожий Однако
23.10.15
✎
11:08
|
А где хранятся настройки для этой обработки?
|
|||
4
wingl
23.10.15
✎
11:11
|
Casey1984
Безопасный режим я отключаю (это видно из кода) ДенисЧ Драйвера на сервере стоят, все ок, при ручном запуске обработки на сервере под юзером usr1cv8 все отрабатывает МимохожийОднако Не очень понял, о каких настройках идет речь... |
|||
5
Ёпрст
23.10.15
✎
11:13
|
дать права на com юзверю, под которым запущена служба агента сервера..если 64 разрядная винда, то прописать коммконнектор + дать права на эксель еще там же, в компонентах com
|
|||
6
wingl
23.10.15
✎
11:19
|
Ёпрст
Агент 1С запущен под локальным пользователем USR1CV8 на серваке приложений 1С, правильно ли я понимаю, что если я захожу под этим пользователем на этот сервак и под ним прокручиваю обработку в ручную и она отрабатывает, то это значит, что права на все драва включая com настроены верно? |
|||
7
wingl
23.10.15
✎
11:43
|
Есть еще какие-нибудь идеи, коллеги? Всю голову сломал...
|
|||
8
Ёпрст
23.10.15
✎
11:43
|
(6) неа
|
|||
9
lim9
23.10.15
✎
11:50
|
Точно вопрос с правами! у меня была подобная ситуация, нужно дать права на все возможные процессы тому пользователю, под которым все запускается.
|
|||
10
wingl
23.10.15
✎
11:50
|
(8) можешь тогда поподробнее объяснить (или дать ссылочку), как и где провернуть эти настройки, буду очень признателен...
|
|||
11
Ёпрст
23.10.15
✎
11:53
|
||||
12
Ёпрст
23.10.15
✎
11:54
|
Сервак у тя 64 битный поди. да ?
|
|||
13
Ёпрст
23.10.15
✎
11:58
|
Если лень ковырятся с правами на ком объекты, запусти службу 1с от учетки админа
|
|||
14
wingl
23.10.15
✎
11:58
|
точно
|
|||
15
Ёпрст
23.10.15
✎
11:58
|
для начала
|
|||
16
wingl
23.10.15
✎
11:58
|
(14) это про (12)
|
|||
17
Ёпрст
23.10.15
✎
11:59
|
||||
18
Ёпрст
23.10.15
✎
12:00
|
дать права на эксель и еще папочки насоздавать
|
|||
19
Ёпрст
23.10.15
✎
12:01
|
где-то валялась более наглядная инструкция, лень искать
|
|||
20
wingl
23.10.15
✎
13:07
|
Я вот только одного не могу понять, если я пользуюсь ADO, то зачем мне собственно само приложение Excel? Провернул идею с папками из ссылки выше, к сожалению так и не помогло, а вот момент с настройкой DCOM пришлось пропустить, тк на сервере не установлен Excel Application...
|
|||
21
Serginio1
23.10.15
✎
14:32
|
(20) Там драйвера либо 64 разрядные либо 32 разрядные. Если Ёкселя нет ставь 64 разрядные.
|
|||
22
Serginio1
23.10.15
✎
14:33
|
||||
23
wingl
23.10.15
✎
15:57
|
(21) на сервере и так стоят 64 разрядные драйвера
|
|||
24
Serginio1
23.10.15
✎
16:17
|
(23) А для Microsoft.Jet.OLEDB.4.0 появились 64 разрядные дрова?
Используй Provider=Microsoft.ACE.OLEDB.12.0 |
|||
25
Serginio1
23.10.15
✎
16:20
|
||||
26
wingl
23.10.15
✎
16:29
|
Произошла исключительная ситуация (ADOX.Catalog): Provider cannot be found. It may not be properly installed.
|
|||
27
Serginio1
23.10.15
✎
17:08
|
(26) Значит не установлен
|
|||
28
wingl
23.10.15
✎
17:12
|
В ветке регистра из твоей ссылки установлен правильный путь до библиотеки ADO (C:\Program Files\Common Files\Microsoft Shared\OFFICE14\ACEOLEDB.DLL)
Файл реально там лежит. В установленных программах висит Microsoft Access db engine 2010. Даже не знаю, как еще проверить, установлен он или нет ))) |
|||
29
wingl
23.10.15
✎
17:14
|
Чисто на всякий случай спрошу, вдруг уже реально перегрелся. Все это я должен провернуть на app сервере 1С?
|
|||
30
Serginio1
23.10.15
✎
17:23
|
Конечно, проблема то у тебя с регламентным заданием которое крутится в 64 разрядно процессе на сервере 1С
|
|||
31
wingl
23.10.15
✎
17:25
|
Ну тогда все правильно
|
|||
32
Serginio1
23.10.15
✎
17:33
|
||||
33
wingl
23.10.15
✎
17:54
|
Есть! Фоновое задание пошло! Выручила установка следующий драйверов http://www.microsoft.com/download/en/details.aspx?id=23734
Serginiol ОГРОМНОЕ ТЕБЕ ЧЕЛОВЕЧЕСКОЕ СПАСИБО!!! Всем участвующим тоже безумно благодарен! Уверен, что эта информация еще ни раз кому-нибудь пригодится! |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |