Суть: Подключение из 1С Бухгалтерия 2.0 к базе Оракл при помощи COMОбъект.
Если делаю обработку и запускаю - все работает. 1С подключается данные получает и записывает.
Если пытаюсь сделать регламентированное событие ( выгрузка ежедневная) , то с вот этой строки не работает ADODBConnection.Open() Подскажите , что я не учла (((((((

```1c
    Процедура Выгрузить()Экспорт
    Период = ТекущаяДата() ;

    ТекстПротокола = Формат(ТекущаяДата(), "ДЛФ=DT") + "; Начало транзакции";
    ТекстПротокола = ТекстПротокола + Символы.НПП + Формат(ТекущаяДата(), "ДЛФ=DT") + "; Подключение к КХ УКМС (СУБД Oracle)";
    ЕстьОшибка = Ложь;

    #Если Клиент Тогда
    Состояние("Подключение к КХ УКМС (СУБД Oracle)...");
    #КонецЕсли

    ADODBConnection = Новый COMОбъект("ADODB.Connection");
    ADODBCommand = Новый COMОбъект("ADODB.Command");
    Попытка
    ADODBConnection.Open("Provider=OraOLEDB.Oracle;Password=Y4***; User ID=load***;Data Source=msc-****.int.*****.corp*****/ods;Persist Security Info=False");
    ADODBCommand.ActiveConnection = ADODBConnection;
    #Если Клиент Тогда
    Сообщить("Подключение к базе КХ УКМС (СУБД Oracle) прошло успешно. ");
    #КонецЕсли

    Исключение
    #Если Клиент Тогда
    Сообщить("Ошибка при подключении к КХ УКМС (СУБД Oracle) для пользователя "load***"! " + ОписаниеОшибки(), СтатусСообщения.Внимание);
    #КонецЕсли
    ТекстПротокола = ТекстПротокола + Символы.НПП + Формат(ТекущаяДата(), "ДЛФ=DT") + "; Ошибка при подключение к КХ УКМС (СУБД Oracle) для пользователя "load*****". " + ОписаниеОшибки();
    ЕстьОшибка = Истина;
    КонецПопытки;

    ***************************
    КонецПроцедуры
```
---
Должно быть больше информации об ошибке, чем просто "error". И вряд ли на сервере приложений установлены компоненты доступа к базе оракл, если вы их специально не устанавливали.
Что касается работы на сервере через V83.COMConnector, то последний раз под Windows 2012 Server мне пришлось явно давать на него права в оснастке "Службы компонентов". Правда, у меня сервер приложений не под стандартной своей учеткой стартует, а под доменной (чтобы ему был доступ к некоторым доменным ресурсам). Может, в этом дело было.
---
1) разные компьютеры, где выполняется код - клиентский компьютер пользователя и сервер.
2) разные пользователи - серверный код исполняется под пользователем, от которого запущена служба Агент сервера 1С
---
Как вариант поставить пакет Оракла для подключения и на сервер..... Но дело еще в чем то.... У меня ощущения что то ли у фонового пользователя прав на подключение нет...
Потому что вот этот код тоже работать в заданиях не хочет на этой строке ЗУП8 = Com.Connect(СтрокаПодключения);

```1c
    Процедура СинхронизацияСправочникаФизическихЛиц(ФормаСпр = Неопределено) Экспорт

    Перем СтрокаПодключения;
    Перем глБаза;
    Перем ПодключениеКПриемнику ;
    Перем СписокЗагрузкиСправочники;
    Перем НП ;

    ШаблонПодключения = "Srvr='BZF-SD****'; Ref='Zarp***'";

    СтрокаСоединения = СтрокаСоединенияИнформационнойБазы();
    ПозицияСимвола = Найти(Врег(СтрокаСоединения), "FILE=");

    Если ПозицияСимвола <> 0 Тогда
    // файловая база
    ИмяИБ = СтрЗаменить(Сред(СтрокаСоединения, 6), "", ");
    ИмяИБ = СтрЗаменить(ИмяИБ, ";", ");
    Иначе
    // серверная база
    ПозицияИмени = Найти(Врег(СтрокаСоединения), "REF=");

    ИмяСервера = СтрЗаменить(Сред(СтрокаСоединения, 6, ПозицияИмени - 6), "", ");
    ИмяСервера = СтрЗаменить(ИмяСервера,";",");
    ИмяИБ = СтрЗаменить(Сред(СтрокаСоединения, ПозицияИмени + 4), "", ");
    ИмяИБ = СтрЗаменить(ИмяИБ,";",");

    КонецЕсли;

    //Если ИмяИБ = "Buh***" Тогда

    СтрокаПодключения = ШаблонПодключения;
    Если глБаза = Неопределено Тогда
    Попытка
    СистемнаяИнформация = Новый СистемнаяИнформация;
    ВерсияПлатфомы = Лев(СистемнаяИнформация.ВерсияПриложения,3);
    Если ВерсияПлатфомы="8.0" Тогда
    Com = Новый COMОбъект("V8.COMConnector");
    ИначеЕсли ВерсияПлатфомы="8.1" Тогда
    Com = Новый COMОбъект("V81.COMConnector");
    ИначеЕсли ВерсияПлатфомы="8.2" Тогда
    Com = Новый COMОбъект("V82.COMConnector");
    ИначеЕсли ВерсияПлатфомы="8.3" Тогда
    Com = Новый COMОбъект("V83.COMConnector");
    КонецЕсли;
    ЗУП8 = Com.Connect(СтрокаПодключения);
    Исключение
    Сообщить("Ошибка соединения: " + ОписаниеОшибки());
    глБаза=0;
    КонецПопытки;
    Иначе
    Сообщить("Возможно соединение уже установленно");
    КонецЕсли;
    **************************************
    КонецПроцедуры
```
---
поставить пакет Оракла Может все-таки сначала попробовать выдать права пользователю под которым задание запускается на сервере (по умолчанию USR1CV82) как Вам в (2) посоветовали.
P.S. Ну если у Вас Оракал бесплатный и ставится за 5 минут, то, конечно, извиняюсь.
---
Для подключения не требуется платный пакет Оракла)))
Про этого пользователя я знаю... Но вот особого опыта с агентом нет. В общем я просто не знаю где дать ему права.Подскажите ?
---
1) а у вас сервер приложений, случаем, не линуксовый? :)
2) уберите попытку/исключение и посмотрите в консоли фоновых заданий, по какой именно ошибке падает
---
а у вас сервер приложений
Сервер приложений 2012 у нас, windows.
Ошибка при вызове метода Connect
---
Должно быть больше информации об ошибке, чем просто "error". И вряд ли на сервере приложений установлены компоненты доступа к базе оракл, если вы их специально не устанавливали.
Что касается работы на сервере через V83.COMConnector, то последний раз под Windows 2012 Server мне пришлось явно давать на него права в оснастке "Службы компонентов". Правда, у меня сервер приложений не под стандартной своей учеткой стартует, а под доменной (чтобы ему был доступ к некоторым доменным ресурсам). Может, в этом дело было.
---
Оракл на сервере мы настроили. Если запускать как обработку и подо мной, то подключение к базе и выгрузка/загрузка данных идет.

А вот насчет учетки Вы абсолютно правы, Агент сервера 1С работает у нас не под стандартной учеткой. Сделали вот так , но все равно не работает:-(((((((((((((

1 Администрирование - Службы компонентов – Компьютеры – Мой компьютер – Приложения COM+ - Создать приложение – Создать новое приложение – вводим имя «V83.COMConnector»(переключатель «Серверное приложение») – Указанный пользователь (Пользователь под которым запускается сервер 1С)
2 В появившейся ветке V83COMConnector – подветка Компоненты – создание нового компонента – Установка новых компонентов - <каталог 1С>\bin\comcntr.dll
3 Правой кнопкой по ветке V83COMConnector – Свойства – Безопасность – Снял галку «Принудительная проверка доступа для приложений» - Поставил галку «Применить политику программных ограничений» - Уровень ограничений «Неограниченный»
И перезапустили сервер 1С.
---
Вот, кстати, заметка на злобу дня
Может, пригодится.
---
V83.COMConnector к ораклу и ADODB прямого отношения не имеет - это только для работы с 1С через COM. Две не связанные проблемы, короче. Как его подключал - не помню, но на закладке "Удостоверение" явно прописан пользователь, под которым стартует сервер приложений.
Что касается оракла - можно попробовать зайти под пользователем сервера приложений в систему, для наглядности отладки. И искать статьи именно по своей проблеме. Может, стандартная чехарда x32 и x64 драйверов. Из под клиента использует x32, а сервер приложений за x64 ломится. Гугл в помощь.
---
Вы знаете, перезагрузили все сервера , и видимо подтянулись политики . Все заработало. Спасибо за помощь!!!!!!