Имя: Пароль:
1C
1С v8
Подключение к Access
0 Sterben
 
10.02.19
12:58
Добрый день. Нужно прочитать данные из Access в 1С. Никак не могу организовать подключение, всё время выдает ошибку. Пробовал разные способы (код прилагаю). Выдает такую ошибку:
{Обработка.Проба.Форма.Форма.Форма(15)}: Ошибка при вызове метода контекста (Open): Произошла исключительная ситуация (Microsoft OLE DB Provider for ODBC Drivers): [Microsoft][Диспетчер драйверов ODBC] Источник данных не найден и не указан драйвер, используемый по умолчанию.

Какие драйвера нужны? Или как указать драйвер используемый по умолчанию? Или я не правильно пытаюсь подключиться? Прошу помочь.

Извиняюсь, если код будет плохо читабелен, новичок на форуме и не знаю как отредактировать его. Код:

ПутьКФайлу = "С:\SplineDocflowSample.mdb";
    ИмяФайла = "SplineDocflowSample.mdb";
    // строка подключения к файлу БД Access
    //ПодключениеК = "Provider=Microsoft.ACE.OLEDB.12.0; Data Source=" + ПутьКФайлу + ";""";
    //ПодключениеК = "Driver={Microsoft Access Driver (*.mdb)};Dbq=С:\SplineDocflowSample.mdb;Uid=Admin;Pwd=";
    //ПодключениеК = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=С:\SplineDocflowSample.mdb";
    //ПодключениеК="Driver={Microsoft Access Driver (*.mdb)};Dbq=" + ПутьКФайлу + ";";
    ПодключениеК = "Provider=MSDASQL.1; Data Source=" + ПутьКФайлу + ";""";
    Соединение = Новый COMОбъект("ADODB.Connection"); // объект для соединения
    Попытка    
        Соединение.Open(ПодключениеК); // соединяемся с БД Access    
    Исключение
        Сообщить(ОписаниеОшибки());
        Возврат;
    КонецПопытки;
1 Sterben
 
10.02.19
13:01
Если пытаться подключиться так:
ПодключениеК = "Provider=Microsoft.ACE.OLEDB.12.0; Data Source=" + ПутьКФайлу + ";""";

то выдает такую ошибку:

{Обработка.Проба.Форма.Форма.Форма(15)}: Ошибка при вызове метода контекста (Open): Произошла исключительная ситуация (ADODB.Connection): Не удается найти указанный поставщик. Вероятно, он установлен неправильно.
2 Sserj
 
10.02.19
13:03
Попробуй так:
Provider=Microsoft.ACE.OLEDB.12.0;Data Source=С:\SplineDocflowSample.mdb
3 Sserj
 
10.02.19
13:04
Ну и как обычно проверь разрядность драйверов. Если у тебя 1Сx64 а офис x32 или наоборот то соответственно драйверов подходящих может и не быть.
4 Sterben
 
10.02.19
13:29
(3) Да, в этом и была ошибка, исправил её, спасибо. Сделал так (2) Но теперь выдает это

{Обработка.Проба.Форма.Форма.Форма(16)}: Ошибка при вызове метода контекста (Open): Произошла исключительная ситуация (Microsoft Access Database Engine): Недопустимый путь: "С:\SplineDocflowSample.mdb". Убедитесь, что путь указан правильно и имеется подключение к серверу, на котором находятся файлы.

Путь точно правильный, а вот как проверить подключение?
5 Sterben
 
10.02.19
13:48
Текущая проблема решена. Помогло такое подключение:

ПодключениеК="Driver={Microsoft Access Driver (*.mdb)};Dbq=" + ПутьКФайлу + ";";
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший