Невозможно подключиться к microsoft excel driver 1с

   LevelUP

02.02.17 — 12:43

Здравствуйте.

Раньше в х32 1С открывал Excel таким кодом

Стр_Конект = «Driver={Microsoft Excel Driver (*.xls)};

            |DriverId=790;

            |Dbq=»+Стр_Файл+»;

            |DefaultDir=»+Стр_Путь+»;»;

            Об_Конект = Новый COMОбъект(«ADODB.Connection»);

            Попытка

                Об_Конект.Open(Стр_Конект);          

            Исключение

                Сообщить («Невозможно подключится к Microsoft Excel Driver!!!

                |Возможно файл [«+Стр_Файл+»] открыт другим пользователем.»);

                Возврат;

            КонецПопытки;

Теперь выдает ошибку на этапе Об_Конект.Open(Стр_Конект);

Произошла исключительная ситуация (Microsoft OLE DB Provider for ODBC Drivers): [Microsoft][Драйвер ODBC Excel] Файл ‘(нет данных)’ не может быть открыт ядром базы данных Microsoft Jet.  Файл уже открыт другим пользователем для монопольного доступа или требуется разрешение на просмотр данных.

Куда копать? Что подправить в строке коннекта?

   shuhard

1 — 02.02.17 — 13:10

(0) ODBC тут лишнее

MyCon = Новый COMОбъект («ADODB.Connection»);

    Попытка

                
        MyCon.Open («Provider=Microsoft.ACE.OLEDB.12.0;Data Source=»+ОБъект.ПутьКфайламБюджета+»;Extended Properties=»»Excel 12.0;HDR=Yes;IMEX=1;»»»);

        
    Исключение

        Сообщить(«Не удалось открыть файл->»+ОБъект.ПутьКфайламБюджета+» Проверьте путь и тип файла»);

        Сообщить(КраткоеПредставлениеОшибки(ИнформацияОбОшибке()));

        Возврат;    

    КонецПопытки;

   LevelUP

2 — 02.02.17 — 13:46

(1)Спасибо. На х32 код работает, а на х64 нет.

Ругается

Произошла исключительная ситуация (Microsoft OLE DB Service Components): Заглушке переданы неправильные данные.

Может что-то кроме Microsoft.ACE.OLEDB.12.0 надо в com+ прописать?

   NorthWind

3 — 02.02.17 — 13:51

(2) а драйвер ACE х64 скачан и установлен?

   LevelUP

4 — 02.02.17 — 13:53

(3) я в службе компонентов его com+ сопоставил по типу Книга знаний: Вызов 32-битных COM-объектов на стороне 64-битного сервера 1С. Без этого ругался на Provider=Microsoft.ACE.OLEDB.12.0.

Теперь вот на заглушку

   aka AMIGO

5 — 02.02.17 — 14:14

Извините, а в файловом варианте эта штука не работает?

   LevelUP

6 — 02.02.17 — 14:16

(5) у меня файловый вариант как раз

   aka AMIGO

7 — 02.02.17 — 14:20

(6) У меня как раз 64.

Попробовал и я, тоже не срабатывает. Причина другая.

Сообщений 2:

Не удалось открыть файл->C:DBАзыExtRepsPL VAP FY17.xlsx Проверьте путь и тип файла

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

Но у меня нет ACE

   aka AMIGO

8 — 02.02.17 — 14:22

(6) может тебе поможет: http://www.cyberforum.ru/ado-net/thread125575.html

Я в этом плаваю по-топорному.

   aka AMIGO

9 — 02.02.17 — 14:28

(0) чем вызвана необходимость использовать этот «Driver» ?

Нет Excel»я ?

   LevelUP

10 — 02.02.17 — 14:29

(8) ну драйвер похоже ставить надо Microsoft.ACE.OLEDB.12.0 х64. Но для этого надо офис снести х32, неохота.

Через обертку com+ избавился от ошибки «поставщика». Но появились другие.

   aka AMIGO

11 — 02.02.17 — 14:30

(10) Понял..

   LevelUP

12 — 02.02.17 — 14:30

(9) Да, изначально у заказчика не было Екселя. Но сейчас уже есть, поэтому переписываю обработку под Excel.application

   aka AMIGO

13 — 02.02.17 — 14:41

А так не пойдёт? Поскольку Excel установлен..

    Попытка

        Excel = Новый COMОбъект(«Excel.Application»);

    Исключение

        Сообщить(«Не найден Microfoft Excel.»);

        Возврат Ложь;

    КонецПопытки;

    
    Попытка

        WorkBook = Excel.WorkBooks.Open(ФайлExcel );

    Исключение

        Сообщить(«Excel не удалось открыть файл » + ФайлExcel );

        Возврат Ложь;

    КонецПопытки;

    
    ТекЛист=Excel.WorkSheets(1);

   aka AMIGO

14 — 02.02.17 — 14:42

+13 или ты под это и пишешь?

   DailyLookingOnASunse

15 — 02.02.17 — 14:49

Платформа какая?

С 8.3.6 уже можно этим пользоваться:

ДанныеФайлаТабличныйДокумент = Новый ТабличныйДокумент;

ДанныеФайлаТабличныйДокумент.Прочитать(ИмяВремФайла);

   LevelUP

16 — 02.02.17 — 14:57

(13) да, так и переписываю. Подумал, что быстрее переписать, чем разбираться с ADO.

  

LevelUP

17 — 02.02.17 — 15:01

(15)платформа 8.3.9 х64. Хороший способ, надо попробовать, без всяких COM и определений количества строк и колонок. Спасибо!

 0 

   

Распечатать

1С 8.x : Загрузка данных из MS Excel через объект ADODB

Данный метод обладает гораздо большей производительностью и простотой, чем банальный объектный метод через COM соединение.

Все что потребуется это создание 2 объектов
* ADODB.Connection
* ADODB. Recordset

Код 1C v 8.х

 // Выполняет загрузку из файла Excel
// Параметры
// ПутьКФайлу - <Строка> - путь к файлу xls
// Автор: ---%%%Gmix 16.03.2006 12:38:48
// Возвращаемое значение:
// <Булево> – Истина загрузка произошла
// - Ложь загрузки не было
Функция ВыполнитьЗагрузку(ПутьКФайлу) Экспорт

Файл=Новый Файл(ПутьКФайлу);

Если Файл.Существует() Тогда
Стр_Файл=Файл.ПолноеИмя;
// Отрезаем слеш если он есть в конце пути
Стр_Путь=Файл.Путь;
Если Прав(Стр_Путь,1)="" Тогда
Стр_Путь=Лев(Стр_Путь,СтрДлина(Стр_Путь)-1);
КонецЕсли;
// Строка корнекта
Стр_Конект = "Driver={Microsoft Excel Driver (*.xls)};
|DriverId=790;
|Dbq="+Стр_Файл+";
|DefaultDir="+Стр_Путь+";";
Об_Конект = Новый COMОбъект("ADODB.Connection");
Попытка
Об_Конект.Open(Стр_Конект);
Исключение
Сообщить ("Не возможно подключится к Microsoft Excel Driver!!!
|Возможно файл ["+Стр_Файл+"] открыт другим пользователем.");
Возврат Ложь;
КонецПопытки;

// формируем запрос
// Здесь есть нюанс первая строка данных всегда будет являться заголовком
// если она пустая то имена клонок формируются следующим образом F<Номер колонки>
Стр_SQL = "S_elect
| F1 as Артикул,
| F2 as Наименование,
| F3 as ПолноеНаименование
| FROM [A1:AZ100000]
| WHERE ((F1 Is Not Null) AND (F1 <>''))";
Об_РекордСет = Новый COMОбъект("ADODB.Recordset");

Попытка
Об_РекордСет=Об_Конект.Execute(Стр_SQL);
Исключение
Сообщить("Не удадлось выполнить запрос к файлу Excel
|"+ ОписаниеОшибки(),СтатусСообщения.Важное);
Возврат Ложь;
КонецПопытки;

Пока НЕ Об_РекордСет.EOF Цикл
// Получаем данные из Об_РекордСет
// ...
Сообщить("");
Для каждого ОБ_Поле Из Об_РекордСет.Fields Цикл
// Пример вывода информации Сообщить(ОБ_Поле.Name,Об_РекордСет.Fields(ОБ_Поле.Name).value);
КонецЦикла;
// ...
Об_РекордСет.MoveNext();
КонецЦикла;

Об_Конект.Close(); // Закрываем конект
Об_Конект=Неопределено;
Об_РекордСет=Неопределено;

Возврат Истина;
Иначе
Сообщить("Файл "+ПутьКФайлу+" не найден!");
Возврат Ложь;
КонецЕсли;
КонецФункции

  Всем привет подскажите пожалуйста, пишу обработку для платформы 8.2, конфигурация БП 3.0 упр формы, вариант клиент серверный, ниже код:

&НаСервере
Функция ПарсингЭкселя(пФайл, пЛист, СтруктураКолонок = Неопределено,  НачСтрока = 0, знач ПодключениеADODB = «MicrosoftJetOLEDB40»,  КонСтрока = 0,Таблица,ТЗнач) Экспорт

   СтрокаПодключения = «Provider=Microsoft.ACE.OLEDB.12.0; Data Source = «+Объект.Путь;
   СтрокаПодключения = СтрокаПодключения + «; Extended Properties = «+»»»Excel 12.0″+»;HDR=NO;IMEX=1″»;»;

      // Подключаемся

      Об_Конект = Новый COMОбъект(«ADODB.Connection»);

      Попытка
      Об_Конект.Open(СтрокаПодключения);
   Исключение
      Сообщить («Невозможно подключится к Microsoft Excel» + ОписаниеОшибки());
      Возврат Неопределено;
   КонецПопытки;

         RS = Новый COMОбъект(«ADODB.Recordset»);

            ТекстЗапроса =
      «SELECT
      |    Лист.*
      |FROM
         |    [Лист1$] as Лист»;

        Попытка
       RS.Open(ТекстЗапроса, Об_Конект);
    Исключение
       Сообщить («Проблемы с выполнением запроса»);
       Возврат Неопределено;
    КонецПопытки;

       Таблица = Новый ТаблицаЗначений;

           Если СтруктураКолонок = Неопределено Тогда

              Для Счетчик = 1 По RS.Fields.Count Цикл
          Поле = RS.Fields.Item(Счетчик — 1);
         Колонка = Таблица.Колонки.Добавить(«К» + Счетчик, , Поле.Name);
      КонецЦикла;

    Иначе

      Для каждого КлючИЗначение Из СтруктураКолонок Цикл
         Колонка = Таблица.Колонки.Добавить(КлючИЗначение.Ключ);
      КонецЦикла;

    КонецЕсли;

    НомерСтроки = 0;
    КолвоСтрок  = RS.RecordCount;
    НачСтрока = 0;
      КонСтрока = 0;

        Пока RS.EOF() = 0 Цикл

      НомерСтроки = НомерСтроки + 1;

      #Если Клиент Тогда
      Состояние(«Чтение файла: » + Формат(НомерСтроки) + » из » + Формат(КолвоСтрок));
      ОбработкаПрерыванияПользователя();
      #КонецЕсли

      Если НомерСтроки < НачСтрока Тогда
         RS.MoveNext();
         Продолжить;
      КонецЕсли;

      Если КонСтрока > 0 И НомерСтроки > КонСтрока Тогда
         Прервать;
      КонецЕсли;

      НоваяСтрока = Таблица.Добавить();

      Если СтруктураКолонок = Неопределено Тогда

         Для Счетчик = 1 По RS.Fields.Count Цикл

            Поле = RS.Fields.Item(Счетчик — 1);
            НоваяСтрока[«К» + Счетчик] = Поле.Value;

         КонецЦикла;

      Иначе

         Для каждого КлючИЗначение Из СтруктураКолонок Цикл

            Поле = RS.Fields.Item(КлючИЗначение.Значение — 1);
            НоваяСтрока[КлючИЗначение.Ключ] = Поле.Value;

         КонецЦикла;

      КонецЕсли;

      // Обработка других полей
      RS.MoveNext();

    КонецЦикла;

    // Завершение работы

    RS.Close();
    Об_Конект.Close();

    Возврат Таблица;

КонецФункции   

когда данную функй делаю на айловом варианте все работает. а когда на клиент серверном , то он
вот на этом месте

   Попытка
      Об_Конект.Open(СтрокаПодключения);
   Исключение
      Сообщить («Невозможно подключится к Microsoft Excel» + ОписаниеОшибки());
      Возврат Неопределено;
   КонецПопытки;

уже застревает, идет в исключение, может кто делал,

1С — ошибка при получении характеристик принтера

После обновления платформы 1С многие пользователи столкнулись с тем, что при отправке на печать программа 1С отказывалась печатать и выдавала сообщение «ошибка при получении характеристик принтера».

В этой статье рассмотрим как просто исправить ошибку при получении характеристик принтера.

Для примера вызова ошибки в программе 1С откроем раздел «Продажи», подраздел «Счета-фактуры выданные».

Далее выберем любую счёт-фактуру, нажав на кнопку «Печать» в всплывающем меню выберем пункт «Счет-фактура».

У нас откроется предварительный просмотр печатной формы счет-фактуры. Попробуем её распечатать.

Мы получили сообщение об ошибке «Ошибка при получении характеристик принтера. Не удалось получить характеристики принтера. Проверьте подключение или выберите другой принтер».

Нажав в сообщении с ошибкой на кнопку «ОК», перед нами откроется окно параметров страницы, в котором мы можем увидеть что наш принтер не доступен.

Для того, чтобы исправить эту ошибку, откроем пункт меню «Администрирование», подпункт «Настройка пользователей и прав».

В открывшемся окне нажмём на ссылку «Пользователи».

Далее откроем кликнув два раза левой кнопкой мыши на пользователя у которого появляется ошибка при получении характеристик принтера.

​Кликнем 2 раза левой кнопкой мыши на пользователя у которого появляется ошибка при получении характеристик принтера

В карточке пользователя нажмём на ссылку «Настройки».

В открывшихся настройках (Внимание! Настройки могут открываться достаточно долго, до нескольких минут) перейдём во вкладку «Прочие настройки».

Для исправления ошибки очистим настройку печати табличных документов, выдели соответствующий пункт, нажав кнопку «Очистить» и на запросе о подтверждении действия нажав на кнопку «Да».

Теперь давайте проверим, что наши действия решили проблему возникновения ошибки при получении характеристик принтера. Снова откроем пункт меню «Продажи», подпункт «Счета-фактуры выданные».

Выберем любую счёт-фактуру, нажмём на кнопку «Печать» и в всплывающем окне выберем пункт «Счет-фактура».

В открывшемся предварительном просмотре печатной формы документа, нажмём на кнопку «Предварительный просмотр» перед печатью.

И увидим что ошибка при получении характеристик принтера пропала, принтер определился и снова доступен для печати. Можно распечатать наш документ.

​Увидим что ошибка при получении характеристик принтера пропала, принтер определился и снова доступен для печати

Хорошая статья! Спасибо! Подскажите, когда выйдет статья на тему «Что делать если бумагу в принтере зажевало?». Будем ждать

Meta* введёт комиссию в 47,5% от продаж в Horizon Worlds — в сети пожелали Цукербергу удачи в «пустой метавселенной» Статьи редакции

А также вспомнили, как компания недавно осуждала 30-процентный «налог на App Store» от Apple.

Среди компаний, поставщики которых уже переведены на систему СФЕРА EDI, крупнейшие ритейлеры России и торговые сети: АШАН, Красное и Белое, ОКей, Дикси, Лента, Магнит, Утконос, Монетка и многие другие.

В статье рассказываем, как мы помогли кандидатам подготовиться к работе в КРОК Linux-инженером на программе обучения.

Привет. Меня зовут Ольга, и вот уже как минимум 10 лет я иду в ногу с Ламодой. На моем последнем ЛК у меня 188 заказов, высокий процент выкупа и почти все значки лояльности, которые можно собрать (всего их больше 50). Я шопоголик. И я никогда не пользовалась Wildberries.

АО «МТТ», провайдер интеллектуальных решений для бизнеса, разработал цифрового помощника для одного из крупнейших сервисов курьерской доставки Dostavista. Голосовой робот, собранный на платформе VoiceBox, автоматизировал инструктаж курьеров, подключенных к услуге доставки товаров с наложенным платежом в 15 городах России.

Британский владелец Durex, Contex и «Нурофена» передаст права на свой бизнес в России Статьи редакции

Компания пока не определила кому — третьим лицам или руководителям российского подразделения.

Выручка «Кинопоиска» в 2023 году выросла в 2,4 раза, до 7,16 млрд рублей, чистый убыток — 4,85 млрд рублей Статьи редакции

Онлайн-кинотеатр на втором месте по выручке среди конкурентов — после ivi.

специалист

Мнение эксперта

Витальева Анжела, консультант по работе с офисными программами

Со всеми вопросами обращайтесь ко мне!

Задать вопрос эксперту

Причина того, что данная служба не выполняется, может быть связана с тем, что она просто отключена со стороны пользователя либо каким-то сторонним ПО или даже вирусным приложением. Если же вам нужны дополнительные объяснения, обращайтесь ко мне!

Обычно при использовании такого способа решения вопроса о том, почему не устанавливается сетевой принтер, все начинает работать в нормальном режиме. Т.е. печатающая оргтехника выходит из состояния «отключен», благодаря чему найденное устройство снова подготавливается со стороны ОС к дальнейшей работе.
Excel не Удается Подключиться к Принтеру • Попробуйте файл bat

Перестал печатать принтер, подключенный по сети (расшаренный)

С подключением все понятно, нужно просто убедиться в его исправности, включить везде доступы, расшарить технику печати. Иногда потребуется полная переустановка принтера. То есть сначала нужно полностью удалить принтер вместе с пакетом драйверов с Windows, а потом установить по новой.

Решения ошибок принтера 0x00004005

Чтобы устранить ошибку принтера 0x00004005, последовательно попробуйте следующие предложения:

Служба диспетчера очереди печати позволяет подключить принтер к компьютеру. Чтобы принтеры работали без проблем, эта служба должна оставаться включенной. Итак, идите и проверьте, работает ли он правильно или перестал работать. Все, что вам нужно сделать, это выполнить следующие шаги —

Разобрались: Как исправить проблемы со службой диспетчера очереди печати в Windows 10

  • Сначала откройте команду «Выполнить», нажав кнопку Превосходить ключ и R.
  • Модель » services.msc »И нажмите Enter.
  • В открывшемся окне прокрутите вниз и дважды щелкните службу — Print Spooler Services.
  • Убедитесь, что тип запуска находится в автоматическом режиме.
  • Если статус службы остановлен, вам нужно нажать на Начать. Аналогичным образом, если статус службы показывает, что она работает, вам нужно сначала остановить ее, а затем перезапустить.
  • Наконец, нажмите OK чтобы сохранить указанную выше конфигурацию.
  • Теперь, когда вы закончили, перезагрузите компьютер и проверьте, устранена ли ошибка 0x00004005 или устранена.

специалист

Мнение эксперта

Витальева Анжела, консультант по работе с офисными программами

Со всеми вопросами обращайтесь ко мне!

Задать вопрос эксперту

В десятку , как и в другие системы, разработчиками предусмотрен инструмент, который способен самостоятельно диагностировать Windows. Если же вам нужны дополнительные объяснения, обращайтесь ко мне!

Чтобы активировать его, нам нужно перейти в «Пуск», войти в «Панель управления», «Программы» и ввести «Активировать или деактивировать функции Windows». Там мы должны искать Совместимость с Протокол обмена файлами SMB 1.0 и включить его.

Ошибка 0x00000709 сетевого принтера в Windows 10, 7, 8, 11: невозможно завершить операцию, проверьте имя

  • Открыть команду «Выполнить» (Клавиша выигрыша + R)
  • Модель » devmgmt.msc ».
  • Когда появится Диспетчер устройств, разверните Очереди печати.
  • Щелкните правой кнопкой мыши каждый из внутренних адаптеров и выберите параметр — Обновить драйвер.

При покупке нового принтера вы также получаете компакт-диск со всеми необходимыми драйверами. Попробуйте переустановить все драйверы, поставляемые с принтером. Если вы не получили компакт-диск при покупке или просто потеряли к нему доступ, вы можете получить необходимые драйверы, посетив официальный сайт производителя.

0 / 0 / 0

Регистрация: 31.05.2006

Сообщений: 29

1

09.09.2006, 15:32. Показов 9673. Ответов 7


Студворк — интернет-сервис помощи студентам

Может ли кто-нить помочь?

Пытаюсь подключиться к файлу Excel через ADO.
Вбиваю следующую строку подключения:

Driver={Microsoft Excel Driver (*.xls)}bq=»D:2.xls»efaultDir=»D:»

Выдаёт:

ERROR [42000] [Microsoft][Драйвер ODBC Excel] Обновление невозможно. База данных или объект доступны только для чтения.
ERROR [IM006] [Microsoft][Диспетчер драйверов ODBC] Ошибка SQLSetConnectAttr драйвера
ERROR [42000] [Microsoft][Драйвер ODBC Excel] Обновление невозможно. База данных или объект доступны только для чтения.

Причём независимо от того, есть ли файлик или его нет.
Чую что что-то не так со строкой.



0



parad

21.10.2006, 16:59

2

Файл имеет атрибут «только для чтения»

Гость

30.08.2007, 23:03

3

Народ подскажите пожалйта, через ado цепляется excel файл, при попытке записи выводит ошибку записи «ошибка переполнения числа»
Спасибо

Администратор

82903 / 51477 / 244

Регистрация: 10.04.2006

Сообщений: 13,363

31.08.2007, 11:48

4

Почему вы для работы с екселем используете именно адо? Почему не рефлекшен например или СОМ?



0



dima55

03.09.2007, 16:53

5

Reflection ИМХО будет тормозить. Лучше уж СОМ. Через ADO не работал и тоже интересно, чем обусловлен такой выбор.

Гость

03.09.2007, 20:31

6

Цитата
Сообщение от dima55
Посмотреть сообщение

Reflection ИМХО будет тормозить. Лучше уж СОМ. Через ADO не работал и тоже интересно, чем обусловлен такой выбор.

Нихочу я через COM (хотя наврено придется), про Рефлекшен я чесно говоря первый раз слышу. Насчет связки ADO и Excel- показалась наиболее оптипальной, ибо с АДО + Делфи я знаком неплохо, а как автоматизировать некоторые задачи в Екселе не знаю, а копть в этом направение лениво, перевести из Екселя в человеческую БД так сказать не имею права, много людей работают с таблицей именно через Ексел.

1 / 1 / 0

Регистрация: 20.11.2014

Сообщений: 24

06.09.2007, 11:22

7

Цитата
Сообщение от Гость

Нихочу я через COM (хотя наврено придется),

Через СОМ зато получишь доступ ко всем функциям екселя. Просто найди его библиотеку типов и подстегни ее в референсах.



0



Гость

06.09.2007, 22:52

8

Цитата
Сообщение от dima55
Посмотреть сообщение

Reflection ИМХО будет тормозить. Лучше уж СОМ. Через ADO не работал и тоже интересно, чем обусловлен такой выбор.

Ну через COM может и лучше, но не желательно. Просто требуется вроде элементарная вещь как Post(три строки!!!), ан нет — не работает.

Понравилась статья? Поделить с друзьями:
  • Невозможно передать данные в excel
  • Невозможно открыть файл поскольку его размер превышает 512 мб word
  • Невозможно открыть файл excel
  • Невозможно открыть документ word
  • Невозможно найти устанавливаемый isam word