Имя: Пароль:
1C
1С v8
Запись данных XLS, XLSX запросом
,
0 Fenomen
 
27.04.12
17:10
Добрый вечер, пытаюсь выгрузить в Эксель 2010, но при подключении пишет ошибку.

СтрокаПодключения = "
   |Provider=Microsoft.ACE.OLEDB.12.0;
   |Data Source=" + ПутьКФайлам + ";
   |Extended Properties=""Excel 12.0;HDR=NO;IMEX=1;"";";

   Catalog = Новый COMОбъект("ADOX.Catalog");
   Попытка
       Catalog.ActiveConnection = СтрокаПодключения;
   Исключение
       Сообщить("Ошибка подключения: " + ОписаниеОшибки());
   КонецПопытки;

Пишет ошибку "Ошибка при установке значения атрибута контекста (ActiveConnection): Произошла исключительная ситуация (ADOX.Catalog): Не удается найти указанный поставщик. Вероятно, он установлен неправильно."

Поставил http://www.microsoft.com/en-us/download/details.aspx?id=13255 , но ничего не изменилось.
Как узнать какой поставщик установлен? (ОС Win 7 64)
1 Fragster
 
гуру
27.04.12
17:15
ActiveConnection - разве должен быть типа строка а не чем-нибудь типа ADODB/Connection?
2 Ахиллес
 
27.04.12
17:18
глянь сюда http://infostart.ru/public/65045/
3 КМ155
 
27.04.12
17:19
(0) найди 10 отличий:
MyCon = Новый COMОбъект ("ADODB.Connection");
   MyCon.Open ("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\1.xls;Extended Properties=""Excel 8.0;HDR=No;IMEX=1""");
   MyCat=Новый COMОбъект ("ADOX.Catalog");
   MyCat.ActiveConnection = MyCon;
4 Fenomen
 
27.04.12
17:24
С такой строкой у меня всё ОК.
Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+ПутьКФайлам+";Extended Properties=""Excel 8.0;HDR=No;IMEX=1;"";";

Но вот Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + ПутьКФайлам + ";Extended Properties=""Excel 12.0;HDR=NO;IMEX=1;"";";

Отличается Excel 8.0, а мне нужно Excel 12.0.
5 Fragster
 
гуру
27.04.12
17:27
(4) -> (1) !!!
6 ll13
 
27.04.12
17:28
СтрокаПодключения = "Provider=Microsoft.ACE.OLEDB.12.0;
|Data Source=" + ИмяФайлаЭксель + ";
|Extended Properties=""Excel 12.0 Xml;HDR=" + ?(ЧитатьЗаголовок,"Yes","No") + ";IMEX=1"";";
7 Ахиллес
 
27.04.12
17:30
В закладочки положи себе http://www.connectionstrings.com/excel#p84
8 Fenomen
 
28.04.12
11:14
ll13, Ахиллес. Я не понимаю, чем строка пожключения (0) отличается от (6) и (7).
КМ155, Делаю
Connection = Новый COMОбъект("ADODB.Connection");
Connection.Open("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + ПутьКФайлам + ";Extended Properties=""Excel 12.0 Xml;HDR=NO;IMEX=1;"";");

Пишет ошибку " Ошибка при вызове метода контекста (Open)
Connection.Open("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + ПутьКФайлам + ";Extended Properties=""Excel 12.0 Xml;HDR=NO;IMEX=1;"";");
по причине:
Произошла исключительная ситуация (ADODB.Connection): Не удается найти указанный поставщик. Вероятно, он установлен неправильно."

Что еще ему не нравится? Не могу понять.
9 Fragster
 
гуру
28.04.12
11:39
короче, создаешь пустой файл с расширением .udl, открываешь его двойным кликом, настраиваешь как тебе надо, проверяешь - всё ок. потом открываешь блокнотом и смотришь на строку.
10 Fenomen
 
28.04.12
15:21
Проблема решилась установкой
11 Fenomen
 
28.04.12
15:24
Проблема решилась установкой на мою Win 7 x64 провайдера http://www.microsoft.com/download/en/details.aspx?id=23734 , а не как я ставил http://www.microsoft.com/en-us/download/details.aspx?id=13255.
Компьютер — устройство, разработанное для ускорения и автоматизации человеческих ошибок.