Не удается найти указанный поставщик вероятно он установлен неправильно excel
Публикаций на тему загрузки из EXCEL — множество, но
«
— Вам билетёр нужен?
— Был нужен, да уже взяли.
— Может и я на что сгожусь?
— Может и сгодишься, если скалиться не будешь …
«
«НЕУЛОВИМЫЕ МСТИТЕЛИ» (1966).
С уважением к сообществу МА!
Related Posts
88 Comments
Параметр строки подключения MAXSCANROW лично мне никак не помог решить эту проблему. Свойства ячеек на автоопределение типа тоже не влияют.
З.Ы. Это для Microsoft.Jet.OLEDB.4.0
с Microsoft.ACE.OLEDB.12.0 не работал.
Спасибо. Надо будет обязательно это посмотреть.
Просто можно писать запрос не селект *, а к конкретной колонке и её уже кастовать к нужному типу данных.
(3) Ёпрст, естественно select не *, а конкретные поля. Чтобы использовать Cast надо через MSSQL (например) делать запрос к таблице (в 7.7 лет 5 назад так и было)
(4) djd.sf, пробовал, не взлетело. Была таблица для сверки остатков из 7.7 значение колонки с остатками выглядело как «5.000 EUR 15», если в первых 8 строках «», то значения всех строк приводились к типу число.
МА, «забыли» упомянуть самый главный плюс загрузки через ADODB — на сервере не нужна установка Excel 🙂
(5) IMEX отключите и взлетит. только, что проверил.(а вообще покажите строку подключения).
(7) djd.sf, уже не могу показать строку подключения, т.к. эта проблема была на предыдущем месте работы.
IMEX надо бы запомнить. при оказии попробовать.
вполне можно поюзать функционал вот того скуля , да
я для себя в итоге завел всю эту тему в консоль запросов — получилось достаточно удобно. Ставим галку «запрос к эксель», пишем свой запрос sql, жмем кнопку «создать временную таблицу» — вуаля, теперь можно писать полноценные 1С-ные запросы к получившейся таблице.
Единственное, так и не вычислил как в этом скуле ремарить строки — перепробовал кучи вариантов — не взлетает :). Может кто знает?
(9) я себе также в консоль сделал. собственно и проверяю в ней. и временные запросы также)))
Ошибка при вызове метода контекста (Open): Произошла исключительная ситуация (ADODB.Connection): Не удается найти указанный поставщик. Вероятно, он установлен неправильно.
Ранее работало, что-то изменилось в компе, уже не припомню .. Что пробовал:
1. разные строки подключения -
Connection = Новый COMОбъект("ADODB.Connection");
СтрокаПодключения = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source = " + Файл +
"; Extended Properties = ""Excel $ver$.0;HDR=YES;IMEX=1"";";
СтрокаПодключения12 = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source = " + Файл +
"; Extended Properties=""Excel 12.0 Xml;HDR=YES;IMEX=1"";";
СтрокаПодключенияACE = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source= " + Файл +
";Extended Properties=""Excel 12.0;HDR=YES;IMEX=1;""";
Попытка
Connection.Open(СтрокаПодключения12);
Исключение
Попытка
Connection.Open(СтрокаПодключенияACE);
Исключение
Для Версия = 8 По 16 Цикл
//подключение к источнику данных
ТекСтрокаПодключения = СтрЗаменить(СтрокаПодключения, "$ver$", Строка(Версия));
Попытка
Connection.Open(ТекСтрокаПодключения);
Исключение
ОписаниеОшибки = ОписаниеОшибки();
КонецПопытки;
КонецЦикла;
КонецПопытки;
КонецПопытки;
2. переустанавливал OFFICE 32/64 бит
что за "Не удается найти указанный поставщик. Вероятно, он установлен неправильно." .
Этот провайдер довольно старый и существует только в 32-бит варианте. Соответственно, приложение с ним у вас работать будет только 32-битное.
вы можете просто создать где-нибудь в винде файл test.udl и запустить его на исполнение двойным щелчком. Откроется окно свойств microsoft data link. В звкладке "Поставщик данных" увидите всех провайдеров, которые у вас доступны в 64-битной среде (запускать надо именно в той винде где будет выполняться приложение). Джета 4 там точно не будет.
(4) Provider=Microsoft.ACE.OLEDB.12.0; -- это как раз то про что я говорил в (1): "Если надо 64-бит, то рассматривайте провайдер ACE"
(2) Заполняете все свойства во всех закладках, в которых надо, и нажимаете ОК. После этого исходный файлик test.udl у вас уже будет ненулевого размера. Открываете его каким-нибудь редактором, который умеет юникодный текст, хотя бы стандартным блокнотом. и вуаля, видите в нем третьей по счету готовую строку подключения.
кстати, udl-файл можно использовать и вместо строки подключения, приложив его где-нибудь рядом со своей обработкой.
Тогда нужно будет написать при открытии DBConn.Open("FILE NAME=X:\Path\test.udl"). Довольно удобно, если вы хотите иметь возможность менять строку подключения без влезания в обработку.
Причина
Решение №1. Установите драйвер пакета MS Office
- Определите разрядность платформы 1С. Для клиент-серверной версии 1С сделайте это на компьютере, где установлена серверная часть. В диспетчере задач Windows перейдите на вкладку «Процессы», и если название процесса:
- 1cv8ct.exe *32 — это 32-разрядная платформа (x86);
- 1cv8ct.exe *64 — 64-разрядная (x64).
- для версии x86 — если 1С x86, а MS Office x86 или не установлен;
- для версии x64 — если 1С x64, а MS Office x64/x86 или отсутствует.
- разрядность 1С x86, а MS Office x64;
- при клиент-серверной версии 1С на клиенте используется Windows, а на сервере другая ОС.
Решение №2. Замените файл настроек внешней обработки
- Определите каталог хранения файла настроек.
По умолчанию это «С:\Sbis1C». В зависимости от режима работы настройки могут храниться на сервере вместе с базой 1С или на локальном компьютере. - Скачайте:
- файл настроек (XML, 280 байт) для 1С: «Управление торговлей» версия 10, «Управление производственным предприятием»;
- файл настроек (XML, 286 байт) для 1С: «Управление торговлей» версия 11, «ERP», «Бухгалтерия государственного учреждения», «Бухгалтерия сельскохозяйственного предприятия», «Бухгалтерия 2.0», «Бухгалтерия 3.0», «Комплексная автоматизация 2.0», «Управление нашей фирмой 1.0».
- Переименуйте скачанный файл в соответствии с другими файлами настроек, но не указывайте расширение «sbis».
Например: имя файла в настройках имеет вид «ВО82КА1-1-36_Конфигурация.sbis3.xml». Скачанный файл назовите «ВО82КА1-1-36_Конфигурация.xml»
Вообще задача следующая: нужно из Excel получить доступ к CSV-файлу, чтобы работать с CSV-файлом не в программе "Excel", а как с базой данных. Так по идее правильнее будет.
Ещё хотелось бы пользоваться одним поставщиком (а не несколькими) в разных версиях "MS Office".
Поставщик (имеет ещё название "провайдер") - это программа, которая подключается к базе данных. База данных в данной теме - это CSV-файл. Поставщик в данной теме "Microsoft Text ODBC Driver" (в макросе поставщик записан "".
Библиотека "ADO" подключается к поставщику.
Макрос подключается к библиотеке "ADO".
Ошибка при печати."Не удается найти указанный файл"
Вот код печати через дефолтный принтер: private static string GetDefaultPrinterName() < .
- Рассмотрим часть вашей строки подключения "Provider=. ". Название параметра здесь не Provider, а Driver. Смотрите официальную статью Microsoft, раздел "Строки подключения ODBC".
- После замены названия параметра мы обнаружим, что в вашей строке подключения не указан поставщик (Provider). Нужно его указать.
Aksima, строку подключения я смотрел на специальном сайте (http://www.connectionstrings.com/textfile/), но название параметра не заметил. Сделал вместо слова "Provider" слово "Driver" и заработало.
- Windows-реестр;
- нужно создать текстовый файл и поместить его в специальное место. Из этого текстового файла макрос будет брать разделитель.
Мне нужно указать разделитель ";".
Здравствуйте, Скрипт,
Да, вы правы. Если нужно использовать особый разделитель, то необходимо либо изменить соответствующую запись в реестре, либо использовать файл schema.ini.
По ссылке Excel, csv & Query вы можете найти мое решение этой проблемы.
Буду знать, что не всё так просто с "ADO" и текстовыми файлами.
Скрипт, указывать расположение данного файла не нужно.
Однако необходимо, чтобы этот файл лежал в той же папке, что и csv-файл. Когда драйвер будет его обрабатывать, он самостоятельно проверит наличие в папке csv-файла файла схемы данных и если он есть - применит указанные в нем настройки.
Если вы посмотрели далее в этой же теме еще один листинг, то наверняка обратили внимание на то, что при программном создании файла schema.ini я располагаю его в той же папке, где и csv-файл. Таким образом, указанное выше условие соблюдается.
Ошибка при компиляции: "Не удается найти указанный файл"
Всех С Новым Годом. При компиляции в VS 12 у меня выдает ошибку. Пробовал в VS 10.
Ошибка компиляции "не удается найти указанный файл"
Знаю, что уже много подобных тем созданно, но я их все прочел, пробовал делать, что подсказывали -.
Ребята, помогите! Не могу найти решение. Возникла проблема подключения к файлам Excel (Excel 2010 x64) через ADO на Win8 x64.
К файлам *.xls (93-97) и *.xlsx (2007) подключаюсь через синтаксис:
- *.xls (93-97): ADOConnection.ConnectionString := 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+WBNameDest+';Extended Properties=Excel 8.0;'
- *.xlsx (2007): ADOConnection.ConnectionString := 'Provider=Microsoft.ACE.OLEDB.12.0;Data Source='+WBNameDest+';Extended Properties=Excel 12.0;'
Ставил Office 2010 x32 всё работает отлично. А вот для Office 2010 x64 выдаёт ошибку:
'Не удается найти указанный поставщик. Вероятно, он установлен неправильно'.
Переустановка офиса с предустановкой AccessDatabaseEngine_x64 не помогает.
На Win2008Server x64 аналогичная ситуация. Скорее всего от системы не зависит. Грешу именно на Office 2010 x64.
Эта цепочка заблокирована. Вы можете просмотреть вопрос или оставить свой голос, если сведения окажутся полезными, но вы не можете написать ответ в этой цепочке.
Оскорбление — это любое поведение, которое беспокоит или расстраивает человека или группу лиц. К угрозам относятся любые угрозы самоубийством, насилием, нанесением ущерба и др. Любое содержимое для взрослых или недопустимое на веб-сайте сообщества. Любое изображение, обсуждение наготы или ссылка на подобные материалы. Оскорбительное, грубое или вульгарное поведение и другие проявления неуважения. Любое поведение, нарушающее лицензионные соглашения, в том числе предоставление ключей продуктов или ссылок на пиратское ПО. Незатребованная массовая рассылка или реклама. Любые ссылки или пропаганда сайтов с вирусным, шпионским, вредоносным или фишинговым ПО. Любое другое неуместное содержимое или поведение в соответствии с правилами использования и кодексом поведения. Любое изображение, ссылка или обсуждение, связанные с детской порнографией, детской наготой или другими вариантами оскорбления или эксплуатации детей.
Читайте также: