Имя: Пароль:
1C
1С v8
загрузка в 1С БП3.0 из Альфы-Авто
0 avyub
 
08.04.19
18:57
База файловая, работа по rdp
при загрузке выгруженного из Альфы-Авто xml-файлы выдает ошибки:

Ошибка открытия ТС:{ВнешняяОбработка.ЗагрузкаДанных.МодульОбъекта(846)}: Ошибка при вызове метода контекста (Open): Произошла исключительная ситуация (ADODB.Connection): Не удается найти указанного поставщика. Вероятно, он установлен неправильно.
Прочтите справку обработки по галочке "Использовать АДО" для получения информации как устанавливать драйвер АДО.

Посмотрел в 846 строке, след код (Соединение.Open("Provider=Advantage OLE DB Provider;):

Функция Подключиться(ФайлТС) Экспорт
    Если ИспользоватьADO Тогда
        Если ТипЗнч(БД_ТС) = Тип("COMОбъект") И БД_ТС.ActiveConnection<>Неопределено И БД_ТС.ActiveConnection.State = 1 Тогда
            БД_ТС.Open();
            Возврат Истина;//Подключение уже есть
        КонецЕсли;
        ФайлБД_ТС = Новый Файл(ФайлТС);
        Попытка
            //Будет одинаковый ал
            Если СтрДлина(ФайлБД_ТС.ИмяБезРасширения)>8 Тогда
                ВызватьИсключение("Длинна имени файла не должна превышать 8 символов.");
            КонецЕсли;
            //Предполагаем что это 32 битный сервер
            Соединение = Новый COMОбъект("ADODB.Connection");
            Соединение.ConnectionTimeOut=15;
            Соединение.CursorLocation=2; // server side
            Соединение.Mode=12; //adModeShareExclusive (не разрешает открывать соединение другим пользователям)
            Соединение.Open("Provider=Advantage OLE DB Provider;
            |    Data Source="+ФайлБД_ТС.Путь+";
            |    TableType=ADS_CDX;
            |    ShowDeleted=FALSE;
            |    TrimTrailingSpaces=TRUE;
            |    Advantage Server Type=ADS_LOCAL_SERVER;");
            // ShowDeleted=FALSE; - помеченные на удаление записи НЕ будут отображаться при переборе и поиске
            // TrimTrailingSpaces=TRUE; - автоматическое удаление хвостовых пробелов значений полей
            
            //Создание индекса таблицы
            ФайлИндексов = Новый Файл(ФайлБД_ТС.Путь + "\" + ФайлБД_ТС.ИмяБезРасширения + ".cdx");
            Если ФайлИндексов.Существует() Тогда
                УдалитьФайлы(ФайлИндексов.ПолноеИмя);
            КонецЕсли;
            Если Не ФайлИндексов.Существует() Тогда
                mmComm = Новый COMОбъект("ADODB.Command");
                mmComm.CommandText = "CREATE INDEX indsource ON "+ФайлБД_ТС.ИмяБезРасширения+" (id_source)";
                mmComm.ActiveConnection = Соединение;
                mmComm.Execute();
            КонецЕсли;
            Если НЕ Соединение.State = 1 Тогда
                Сообщить("ВНИМАНИЕ! Нет возможности открыть файл таблицы соответствия:
                        |    " + ФайлТС, СтатусСообщения.ОченьВажное);
                Возврат Ложь;
            Иначе
            БД_ТС = Новый COMОбъект("ADODB.RecordSet");
            //recordset.Open Source, ActiveConnection, CursorType, LockType, Options
            //512 - создать SQL-запрос, который вернёт все строки указанной таблицы.
            //Позволяет использовать метод Seek() в паре со свойством Index если используется курсор на стороне сервера.
            БД_ТС.Open(ФайлБД_ТС.ИмяБезРасширения, Соединение, 2, 3, 512);
            //Переключаем индекс
            БД_ТС.index = "indsource"; //Необходимо для работы Seek. Без этого просматривается вся таблица и работает медленно - проверено.

            КонецЕсли;
        Исключение
            Сообщить("Ошибка открытия ТС:"+ОписаниеОшибки());
            Сообщить("Прочтите справку обработки по галочке ""Использовать АДО"" для получения информации как устанавливать драйвер АДО.");
            Возврат Ложь;
        КонецПопытки;


я так понимаю это ведь для клиент-серверного варианта? Но у меня файловая база. И раньше (в прошлом месяце) эта обработка работала без ошибок
1 Fram
 
08.04.19
19:40
Гугл грит что Advantage это SAP.. Вы явно не ту обработку открыли
2 avyub
 
02.07.19
14:39
Обработка та, в тот раз как то сделал (не помню как). Сейчас переустановил ОС и снова та же ошибка
3 avyub
 
02.07.19
14:40
-Ошибка открытия ТС:{ВнешняяОбработка.ЗагрузкаДанных.МодульОбъекта(846)}: Ошибка при вызове метода контекста (Open): Произошла исключительная ситуация (Advantage OLE DB Provider): Error 5185:  Local server connections are restricted in this environment. See the 5185 error code documentation for details.  axServerConnect   AdsConnect
-Прочтите справку обработки по галочке "Использовать АДО" для получения информации как устанавливать драйвер АДО.
4 avyub
 
02.07.19
16:48
Где то должен быть флажок "Использовать АДО". Не могу его найти
Есть два вида языков, одни постоянно ругают, а вторыми никто не пользуется.