Имя: Пароль:
1C
1С v8
Подключение из 1с к Access через ADO
,
0 Nina2005
 
17.07.13
14:15
Написала обработку, которая выгружает данные из 1с в access через ADO коннектор. При выполнении пользователем, всё работает. Засунула тот же самый код в фоновое задание (база клиент-сервер), запустила, ошибок не выдает, но и ничего не далет. На сервере НЕ стоит MS Office, я так полагаю, что проблема именно в этом. На сервер не могу поставить Office (религия не позволяет). Можно как-то брать драйвер ADO не с сервера, а с какого-нибудь другого компа (сервера) сети?
1 Nina2005
 
17.07.13
14:16
За ранее прошу прощения, если это глупый вопрос.
2 shuhard
 
17.07.13
14:16
(0) ADODB входит в  MDAC
3 Ёпрст
 
17.07.13
14:18
надо в компонентах создать комприложение
4 Ёпрст
 
17.07.13
14:19
5 Ёпрст
 
17.07.13
14:21
ну и еще regsvr comcntr.dll сделай из bin
6 Ёпрст
 
17.07.13
14:23
+ желательно юзверю usr1cv82 дать права на dcom
7 Nina2005
 
17.07.13
14:26
(3) Спасибо, сейчас попробую.
8 shuhard
 
17.07.13
14:37
(5) окстись какое отношение comcntr.dll имеет к ADODB JET ?
9 ДенисЧ
 
17.07.13
14:37
(8) Тебе жалко? :-)
10 Nina2005
 
17.07.13
14:41
(8) какую тогда dll нужно зарегистрировать?
11 shuhard
 
17.07.13
14:41
(9) форум читают  дети
в (5) есть намёк на порнографию
так что мисту да, жалко
12 shuhard
 
17.07.13
14:42
(10) надо скачать с MSDN MDAC и установить
13 Ёпрст
 
17.07.13
14:43
(12) он и так там есть, по-умолчанию
14 Ёпрст
 
17.07.13
14:43
на счет (5) спутал с соседней веткой про коннектор
15 shuhard
 
17.07.13
14:46
(0) ну и по сути провайдер то есть, иначе в коде была бы ошибка
16 Nina2005
 
17.07.13
14:48
(15) в чём же тогда может быть проблема?
17 shuhard
 
17.07.13
14:53
(16)
- кривые руки
- кривой код
- кривой транспорт данных
- ...
18 Nina2005
 
17.07.13
14:59
понятно... пошла руки выпрямлять
19 Славен
 
17.07.13
15:01
(0)нет.
Пиши лог по операциям, отлавливай что не сработало
20 Славен
 
17.07.13
15:02
нетрудно же создать текстовый файлик и писать на каждом этапе в него пару строк
21 Sorm
 
17.07.13
15:03
(19) +. Только хотел написать..
22 shuhard
 
17.07.13
15:04
(18) скорее всего нет прав у учетки от которой запущен rphost на каталог с mdb или путь не сетевой
23 Serginio1
 
17.07.13
15:14
Сервер 1С 64 разрядный?
24 Nina2005
 
17.07.13
15:22
(23) да
25 shuhard
 
17.07.13
15:24
(24) так стоит попытка в коде конекта или нет
где ошибка,которую вернул ADODB ?
26 Serginio1
 
17.07.13
15:26
27 Nina2005
 
17.07.13
15:27
записала log, выдал вот такое описание ошибки

   ИмяФайла="\\Local\ehs\1Св82\Отчёты и обработки\Обработки\test.accdb";
   
   СтрокаПодключения = "Provider=Microsoft.Ace.OLEDB.12.0;Data Source=""" + ИмяФайла + """;Jet OLEDB:Engine Type=5;";
   
   ДокФайл.ДобавитьСтроку("Прошла СтрокаПодключения");
   ДокФайл.Записать("D:\1Св82\LOG.txt");
   
   Коннектор = Новый COMОбъект("ADODB.Connection");
   Коннектор.ConnectionString = СтрокаПодключения;
   
   ДокФайл.ДобавитьСтроку("Прошло создание коннектора");
   ДокФайл.Записать("D:\1Св82\LOG.txt");
   
   Попытка
       Коннектор.Open();
       ДокФайл.ДобавитьСтроку("Открылся файл БД");
       ДокФайл.Записать("D:\1Св82\LOG.txt");
   Исключение
       ДокФайл.ДобавитьСтроку("НЕ открылся файл БД "+ОписаниеОшибки());
       ДокФайл.Записать("D:\1Св82\LOG.txt");
       Возврат;
   КонецПопытки;


Итак описание ошибки: "{ОбщийМодуль.ВыгрузкаВAccess.Модуль(94)}: Ошибка при вызове метода контекста (Open): Произошла исключительная ситуация (ADODB.Connection): Не удается найти указанного поставщика. Вероятно, он установлен неправильно."
28 Nina2005
 
17.07.13
15:28
(26) не, это я уже вчера читала
29 Serginio1
 
17.07.13
15:30
(27) Там проблема такая, что компоненты для офиса должны быть либо 32 либо 64 разрядные.

v8: Подключение к SQL в регламентном задании
30 Serginio1
 
17.07.13
15:38
31 shuhard
 
17.07.13
15:44
(28)[ Не удается найти указанного поставщика. Вероятно, он установлен неправильно."]
ну и какая буква не понятна ?
32 Nina2005
 
17.07.13
16:01
(31) буквы все понятны. непонятно, что нужно установить.
Я первый раз пользуюсь ADO, поэтому мне ничего непонятно(
33 Nina2005
 
18.07.13
09:40
Поставила на сервер Microsoft Access Database Engine, прописала локальный путь к файлу access, всё заработало! Всем спасибо!
34 shuhard
 
18.07.13
09:43
(33) ржака
верный ответ был уже в (2)
35 Nina2005
 
18.07.13
10:00
(34) вы унижая других, пытаетесь возвывисить себя?
если я чего не знаю, я не стесняюсь спросить. Вы вместо того чтобы обяснить, начинаете стебать человека, за то что он не знает, то что знаете вы.
36 hhhh
 
18.07.13
10:04
(350 акцесс совсем необязательно было ставить
37 Nina2005
 
18.07.13
10:06
(36) может быть не обязательно, я не знаю. Я просто написала вариант решения, который мне помог.
38 Jaap Vduul
 
18.07.13
10:17
(34) 64битный MADE в MDAC не входит.
(36) это не сам access
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший