Run time error 3706 не удается найти указанный поставщик вероятно он установлен неправильно

Как исправить ошибку Microsoft Excel 3706 Номер ошибки: Ошибка 3706 Название ошибки: Excel Error 3706 Описание ошибки: Ошибка 3706: Возникла ошибка в приложении Microsoft Excel. Приложение будет закрыто. Приносим извинения за неудобства. Разработчик: Microsoft Corporation Программное обеспечение: Microsoft Excel Относится к: Windows XP, Vista, 7, 8, 10, 11 Определение «Excel Error 3706» Это наиболее […]

Содержание

  1. Как исправить ошибку Microsoft Excel 3706
  2. Определение «Excel Error 3706»
  3. Как триггеры Runtime Error 3706 и что это такое?
  4. Классические проблемы Excel Error 3706
  5. Причины ошибок в файле Excel Error 3706
  6. ADODB.Connection: Не удается найти указанный поставщик
  7. ADODB.Connection: Не удается найти указанный поставщик
  8. Как исправить ошибку Microsoft Access 3706
  9. «Microsoft Access Error 3706» Введение
  10. Почему возникает ошибка времени выполнения 3706?
  11. Типичные ошибки Microsoft Access Error 3706
  12. Эпицентры Microsoft Access Error 3706 Головные боли
  13. How to fix the Runtime Code 3706 Microsoft Access Error 3706

Как исправить ошибку Microsoft Excel 3706

Номер ошибки: Ошибка 3706
Название ошибки: Excel Error 3706
Описание ошибки: Ошибка 3706: Возникла ошибка в приложении Microsoft Excel. Приложение будет закрыто. Приносим извинения за неудобства.
Разработчик: Microsoft Corporation
Программное обеспечение: Microsoft Excel
Относится к: Windows XP, Vista, 7, 8, 10, 11

Определение «Excel Error 3706»

Это наиболее распространенное условие «Excel Error 3706», известное как ошибка времени выполнения (ошибка). Разработчики программного обеспечения, такие как Microsoft Corporation, обычно принимают Microsoft Excel через несколько уровней отладки, чтобы сорвать эти ошибки перед выпуском для общественности. Тем не менее, возможно, что иногда ошибки, такие как ошибка 3706, не устранены, даже на этом этапе.

После установки программного обеспечения может появиться сообщение об ошибке «Excel Error 3706». Когда появится ошибка, пользователи компьютеров смогут уведомить разработчика о наличии ошибки 3706 через отчеты об ошибках. Microsoft Corporation вернется к коду и исправит его, а затем сделает обновление доступным для загрузки. Поэтому, когда вы сталкиваетесь с запросом на обновление Microsoft Excel, это обычно связано с тем, что это решение для исправления ошибки 3706 и других ошибок.

Как триггеры Runtime Error 3706 и что это такое?

Сбой во время выполнения Microsoft Excel, как правило, когда вы столкнетесь с «Excel Error 3706» в качестве ошибки во время выполнения. Проанализируем некоторые из наиболее распространенных причин ошибок ошибки 3706 во время выполнения:

Ошибка 3706 Crash — Номер ошибки вызовет блокировка системы компьютера, препятствуя использованию программы. Обычно это происходит, когда Microsoft Excel не может обработать данные в удовлетворительной форме и поэтому не может получить ожидаемый результат.

Утечка памяти «Excel Error 3706» — Когда Microsoft Excel обнаруживает утечку памяти, операционная система постепенно работает медленно, поскольку она истощает системные ресурсы. Возможные искры включают сбой освобождения, который произошел в программе, отличной от C ++, когда поврежденный код сборки неправильно выполняет бесконечный цикл.

Ошибка 3706 Logic Error — логическая ошибка Microsoft Excel возникает, когда она производит неправильный вывод, несмотря на то, что пользователь предоставляет правильный ввод. Это видно, когда исходный код Microsoft Corporation включает дефект в анализе входных данных.

Как правило, такие Microsoft Corporation ошибки возникают из-за повреждённых или отсутствующих файлов Excel Error 3706, а иногда — в результате заражения вредоносным ПО в настоящем или прошлом, что оказало влияние на Microsoft Excel. Как правило, решить проблему можно заменой файла Microsoft Corporation. В некоторых случаях реестр Windows пытается загрузить файл Excel Error 3706, который больше не существует; в таких ситуациях рекомендуется запустить сканирование реестра, чтобы исправить любые недопустимые ссылки на пути к файлам.

Классические проблемы Excel Error 3706

Общие проблемы Excel Error 3706, возникающие с Microsoft Excel:

  • «Ошибка Excel Error 3706. «
  • «Ошибка программного обеспечения Win32: Excel Error 3706»
  • «Возникла ошибка в приложении Excel Error 3706. Приложение будет закрыто. Приносим извинения за неудобства.»
  • «Excel Error 3706 не может быть найден. «
  • «Excel Error 3706 не найден.»
  • «Проблема при запуске приложения: Excel Error 3706. «
  • «Excel Error 3706 не выполняется. «
  • «Excel Error 3706 остановлен. «
  • «Ошибка пути программного обеспечения: Excel Error 3706. «

Ошибки Excel Error 3706 EXE возникают во время установки Microsoft Excel, при запуске приложений, связанных с Excel Error 3706 (Microsoft Excel), во время запуска или завершения работы или во время установки ОС Windows. При появлении ошибки Excel Error 3706 запишите вхождения для устранения неполадок Microsoft Excel и чтобы HelpMicrosoft Corporation найти причину.

Причины ошибок в файле Excel Error 3706

Эти проблемы Excel Error 3706 создаются отсутствующими или поврежденными файлами Excel Error 3706, недопустимыми записями реестра Microsoft Excel или вредоносным программным обеспечением.

В основном, осложнения Excel Error 3706 связаны с:

  • Недопустимый Excel Error 3706 или поврежденный раздел реестра.
  • Вирус или вредоносное ПО, которые повредили файл Excel Error 3706 или связанные с Microsoft Excel программные файлы.
  • Excel Error 3706 злонамеренно удален (или ошибочно) другим изгоем или действительной программой.
  • Другая программа, конфликтующая с Excel Error 3706 или другой общей ссылкой Microsoft Excel.
  • Неполный или поврежденный Microsoft Excel (Excel Error 3706) из загрузки или установки.

Совместима с Windows 2000, XP, Vista, 7, 8, 10 и 11

Источник

ADODB.Connection: Не удается найти указанный поставщик

Ошибка при вызове метода контекста (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 бит

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

Источник

ADODB.Connection: Не удается найти указанный поставщик

Ошибка при вызове метода контекста (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 бит

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

Источник

Как исправить ошибку Microsoft Access 3706

Номер ошибки: Ошибка 3706
Название ошибки: Microsoft Access Error 3706
Описание ошибки: Cannot make the |2 table replicable — too many indexes.
Разработчик: Microsoft Corporation
Программное обеспечение: Microsoft Access
Относится к: Windows XP, Vista, 7, 8, 10, 11

«Microsoft Access Error 3706» Введение

«Microsoft Access Error 3706» — это стандартная ошибка времени выполнения. Когда дело доходит до программного обеспечения, как Microsoft Access, инженеры могут использовать различные инструменты, чтобы попытаться сорвать эти ошибки как можно скорее. К сожалению, такие проблемы, как ошибка 3706, могут не быть исправлены на этом заключительном этапе.

Пользователи Microsoft Access могут столкнуться с ошибкой 3706, вызванной нормальным использованием приложения, которое также может читать как «Cannot make the |2 table replicable — too many indexes.». В случае обнаруженной ошибки 3706 клиенты могут сообщить о наличии проблемы Microsoft Corporation по электронной почте или сообщать об ошибках. Разработчик сможет исправить свой исходный код и выпустить обновление на рынке. Таким образом при выполнении обновления программного обеспечения Microsoft Access, он будет содержать исправление для устранения проблем, таких как ошибка 3706.

Почему возникает ошибка времени выполнения 3706?

«Microsoft Access Error 3706» чаще всего может возникать при загрузке Microsoft Access. Следующие три наиболее значимые причины ошибок выполнения ошибки 3706 включают в себя:

Ошибка 3706 Crash — программа обнаружила ошибку 3706 из-за указанной задачи и завершила работу программы. Обычно это происходит, когда Microsoft Access не может распознать, что ему дается неправильный ввод, или не знает, что он должен производить.

Утечка памяти «Microsoft Access Error 3706» — ошибка 3706 утечка памяти приводит к тому, что Microsoft Access постоянно использует все больше и больше памяти, увяская систему. Есть некоторые потенциальные проблемы, которые могут быть причиной получения проблем во время выполнения, с неправильным кодированием, приводящим к бесконечным циклам.

Ошибка 3706 Logic Error — логическая ошибка возникает, когда Microsoft Access производит неправильный вывод из правильного ввода. Это связано с ошибками в исходном коде Microsoft Corporation, обрабатывающих ввод неправильно.

Как правило, ошибки Microsoft Access Error 3706 вызваны повреждением или отсутствием файла связанного Microsoft Access, а иногда — заражением вредоносным ПО. Большую часть проблем, связанных с данными файлами, можно решить посредством скачивания и установки последней версии файла Microsoft Corporation. В некоторых случаях реестр Windows пытается загрузить файл Microsoft Access Error 3706, который больше не существует; в таких ситуациях рекомендуется запустить сканирование реестра, чтобы исправить любые недопустимые ссылки на пути к файлам.

Типичные ошибки Microsoft Access Error 3706

Общие проблемы Microsoft Access Error 3706, возникающие с Microsoft Access:

  • «Ошибка в приложении: Microsoft Access Error 3706»
  • «Microsoft Access Error 3706 не является приложением Win32.»
  • «Microsoft Access Error 3706 столкнулся с проблемой и закроется. «
  • «Файл Microsoft Access Error 3706 не найден.»
  • «Microsoft Access Error 3706 не может быть найден. «
  • «Ошибка запуска в приложении: Microsoft Access Error 3706. «
  • «Microsoft Access Error 3706 не работает. «
  • «Microsoft Access Error 3706 выйти. «
  • «Microsoft Access Error 3706: путь приложения является ошибкой. «

Обычно ошибки Microsoft Access Error 3706 с Microsoft Access возникают во время запуска или завершения работы, в то время как программы, связанные с Microsoft Access Error 3706, выполняются, или редко во время последовательности обновления ОС. Отслеживание того, когда и где возникает ошибка Microsoft Access Error 3706, является важной информацией при устранении проблемы.

Эпицентры Microsoft Access Error 3706 Головные боли

Проблемы Microsoft Access и Microsoft Access Error 3706 возникают из отсутствующих или поврежденных файлов, недействительных записей реестра Windows и вредоносных инфекций.

Особенно ошибки Microsoft Access Error 3706 проистекают из:

  • Поврежденные ключи реестра Windows, связанные с Microsoft Access Error 3706 / Microsoft Access.
  • Зазаражение вредоносными программами повредил файл Microsoft Access Error 3706.
  • Другая программа (не связанная с Microsoft Access) удалила Microsoft Access Error 3706 злонамеренно или по ошибке.
  • Другое программное приложение, конфликтующее с Microsoft Access Error 3706.
  • Microsoft Access (Microsoft Access Error 3706) поврежден во время загрузки или установки.

Совместима с Windows 2000, XP, Vista, 7, 8, 10 и 11

Источник

How to fix the Runtime Code 3706 Microsoft Access Error 3706

This article features error number Code 3706, commonly known as Microsoft Access Error 3706 described as Cannot make the |2 table replicable — too many indexes.

Error Information

Error name: Microsoft Access Error 3706
Error number: Code 3706
Description: Cannot make the |2 table replicable — too many indexes.
Software: Microsoft Access
Developer: Microsoft

This repair tool can fix common computer errors like BSODs, system freezes and crashes. It can replace missing operating system files and DLLs, remove malware and fix the damage caused by it, as well as optimize your PC for maximum performance.

About Runtime Code 3706

Runtime Code 3706 happens when Microsoft Access fails or crashes whilst it’s running, hence its name. It doesn’t necessarily mean that the code was corrupt in some way, but just that it did not work during its run-time. This kind of error will appear as an annoying notification on your screen unless handled and corrected. Here are symptoms, causes and ways to troubleshoot the problem.

Definitions (Beta)

Here we list some definitions for the words contained in your error, in an attempt to help you understand your problem. This is a work in progress, so sometimes we might define the word incorrectly, so feel free to skip this section!

  • Access — DO NOT USE this tag for Microsoft Access, use [ms-access] instead
  • Table — DO NOT USE THIS TAG; it is ambiguous
  • Access — Microsoft Access, also known as Microsoft Office Access, is a database management system from Microsoft that commonly combines the relational Microsoft JetACE Database Engine with a graphical user interface and software-development tools
  • Indexes — Indexing data structures is a general technique to improve the speed of data lookups.
  • Microsoft access — Microsoft Access, also known as Microsoft Office Access, is a database management system from Microsoft that commonly combines the relational Microsoft JetACE Database Engine with a graphical user interface and software-development tools
Symptoms of Code 3706 — Microsoft Access Error 3706

Runtime errors happen without warning. The error message can come up the screen anytime Microsoft Access is run. In fact, the error message or some other dialogue box can come up again and again if not addressed early on.

There may be instances of files deletion or new files appearing. Though this symptom is largely due to virus infection, it can be attributed as a symptom for runtime error, as virus infection is one of the causes for runtime error. User may also experience a sudden drop in internet connection speed, yet again, this is not always the case.

(Microsoft Access Error 3706) Repair Tool»/>
(For illustrative purposes only)

Causes of Microsoft Access Error 3706 — Code 3706

During software design, programmers code anticipating the occurrence of errors. However, there are no perfect designs, as errors can be expected even with the best program design. Glitches can happen during runtime if a certain error is not experienced and addressed during design and testing.

Runtime errors are generally caused by incompatible programs running at the same time. It may also occur because of memory problem, a bad graphics driver or virus infection. Whatever the case may be, the problem must be resolved immediately to avoid further problems. Here are ways to remedy the error.

Repair Methods

Runtime errors may be annoying and persistent, but it is not totally hopeless, repairs are available. Here are ways to do it.

If a repair method works for you, please click the upvote button to the left of the answer, this will let other users know which repair method is currently working the best.

Источник

Icon Ex Номер ошибки: Ошибка 3706
Название ошибки: Excel Error 3706
Описание ошибки: Ошибка 3706: Возникла ошибка в приложении Microsoft Excel. Приложение будет закрыто. Приносим извинения за неудобства.
Разработчик: Microsoft Corporation
Программное обеспечение: Microsoft Excel
Относится к: Windows XP, Vista, 7, 8, 10, 11

Определение «Excel Error 3706»

Это наиболее распространенное условие «Excel Error 3706», известное как ошибка времени выполнения (ошибка). Разработчики программного обеспечения, такие как Microsoft Corporation, обычно принимают Microsoft Excel через несколько уровней отладки, чтобы сорвать эти ошибки перед выпуском для общественности. Тем не менее, возможно, что иногда ошибки, такие как ошибка 3706, не устранены, даже на этом этапе.

После установки программного обеспечения может появиться сообщение об ошибке «Excel Error 3706». Когда появится ошибка, пользователи компьютеров смогут уведомить разработчика о наличии ошибки 3706 через отчеты об ошибках. Microsoft Corporation вернется к коду и исправит его, а затем сделает обновление доступным для загрузки. Поэтому, когда вы сталкиваетесь с запросом на обновление Microsoft Excel, это обычно связано с тем, что это решение для исправления ошибки 3706 и других ошибок.

Как триггеры Runtime Error 3706 и что это такое?

Сбой во время выполнения Microsoft Excel, как правило, когда вы столкнетесь с «Excel Error 3706» в качестве ошибки во время выполнения. Проанализируем некоторые из наиболее распространенных причин ошибок ошибки 3706 во время выполнения:

Ошибка 3706 Crash — Номер ошибки вызовет блокировка системы компьютера, препятствуя использованию программы. Обычно это происходит, когда Microsoft Excel не может обработать данные в удовлетворительной форме и поэтому не может получить ожидаемый результат.

Утечка памяти «Excel Error 3706» — Когда Microsoft Excel обнаруживает утечку памяти, операционная система постепенно работает медленно, поскольку она истощает системные ресурсы. Возможные искры включают сбой освобождения, который произошел в программе, отличной от C ++, когда поврежденный код сборки неправильно выполняет бесконечный цикл.

Ошибка 3706 Logic Error — логическая ошибка Microsoft Excel возникает, когда она производит неправильный вывод, несмотря на то, что пользователь предоставляет правильный ввод. Это видно, когда исходный код Microsoft Corporation включает дефект в анализе входных данных.

Как правило, такие Microsoft Corporation ошибки возникают из-за повреждённых или отсутствующих файлов Excel Error 3706, а иногда — в результате заражения вредоносным ПО в настоящем или прошлом, что оказало влияние на Microsoft Excel. Как правило, решить проблему можно заменой файла Microsoft Corporation. В некоторых случаях реестр Windows пытается загрузить файл Excel Error 3706, который больше не существует; в таких ситуациях рекомендуется запустить сканирование реестра, чтобы исправить любые недопустимые ссылки на пути к файлам.

Классические проблемы Excel Error 3706

Общие проблемы Excel Error 3706, возникающие с Microsoft Excel:

  • «Ошибка Excel Error 3706. «
  • «Ошибка программного обеспечения Win32: Excel Error 3706»
  • «Возникла ошибка в приложении Excel Error 3706. Приложение будет закрыто. Приносим извинения за неудобства.»
  • «Excel Error 3706 не может быть найден. «
  • «Excel Error 3706 не найден.»
  • «Проблема при запуске приложения: Excel Error 3706. «
  • «Excel Error 3706 не выполняется. «
  • «Excel Error 3706 остановлен. «
  • «Ошибка пути программного обеспечения: Excel Error 3706. «

Ошибки Excel Error 3706 EXE возникают во время установки Microsoft Excel, при запуске приложений, связанных с Excel Error 3706 (Microsoft Excel), во время запуска или завершения работы или во время установки ОС Windows. При появлении ошибки Excel Error 3706 запишите вхождения для устранения неполадок Microsoft Excel и чтобы HelpMicrosoft Corporation найти причину.

Причины ошибок в файле Excel Error 3706

Эти проблемы Excel Error 3706 создаются отсутствующими или поврежденными файлами Excel Error 3706, недопустимыми записями реестра Microsoft Excel или вредоносным программным обеспечением.

В основном, осложнения Excel Error 3706 связаны с:

  • Недопустимый Excel Error 3706 или поврежденный раздел реестра.
  • Вирус или вредоносное ПО, которые повредили файл Excel Error 3706 или связанные с Microsoft Excel программные файлы.
  • Excel Error 3706 злонамеренно удален (или ошибочно) другим изгоем или действительной программой.
  • Другая программа, конфликтующая с Excel Error 3706 или другой общей ссылкой Microsoft Excel.
  • Неполный или поврежденный Microsoft Excel (Excel Error 3706) из загрузки или установки.

Продукт Solvusoft

Загрузка
WinThruster 2022 — Проверьте свой компьютер на наличие ошибок.

Совместима с Windows 2000, XP, Vista, 7, 8, 10 и 11

Установить необязательные продукты — WinThruster (Solvusoft) | Лицензия | Политика защиты личных сведений | Условия | Удаление

Скрипт

5468 / 1148 / 50

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

Сообщений: 3,514

1

07.11.2013, 15:06. Показов 14452. Ответов 5

Метки нет (Все метки)


Скажите, пожалуйста, какая ошибка в макросе.
Ошибка возникает в строке 20. Полный текст ошибки: Run-time Error ‘3706’ Не удается найти указанный поставщик. Возможно, он установлен неправильно.

Макрос

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
Sub Procedure_1()
    
    'Путь к папке, где содержатся текстовые файлы.
    Const myFolderPath As String = "C:UsersUserDesktop;"
        
    'Библиотека "Microsoft ActiveX Data Objects версия Library".
    Dim myConnection As ADODB.Connection
    
    
    'Создание объекта "Connection".
    Set myConnection = CreateObject(Class:="ADODB.Connection")
    
    'Указываем, какой провайдер нужно использовать, адрес базы данных,
        'дополнительные параметры.
    myConnection.ConnectionString = _
        "Provider={Microsoft Text Driver (*.txt; *.csv)};DBQ=" & myFolderPath & _
        "Extensions=asc,csv,tab,txt"
 
    'Подключение к базе данных.
    myConnection.Open
    
End Sub

Вообще задача следующая: нужно из Excel получить доступ к CSV-файлу, чтобы работать с CSV-файлом не в программе «Excel», а как с базой данных. Так по идее правильнее будет.

Ещё хотелось бы пользоваться одним поставщиком (а не несколькими) в разных версиях «MS Office».

Примечание

Поставщик (имеет ещё название «провайдер») — это программа, которая подключается к базе данных. База данных в данной теме — это CSV-файл. Поставщик в данной теме «Microsoft Text ODBC Driver» (в макросе поставщик записан «{Microsoft Text Driver (*.txt; *.csv)}».
Библиотека «ADO» подключается к поставщику.
Макрос подключается к библиотеке «ADO».



0



Аксима

6076 / 1320 / 195

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

Сообщений: 1,023

07.11.2013, 16:28

2

Здравствуйте, Скрипт,

Есть несколько замечаний по вашей строке подключения:

  1. Рассмотрим часть вашей строки подключения «Provider={Microsoft Text Driver (*.txt; *.csv)}…». Название параметра здесь не Provider, а Driver. Смотрите официальную статью Microsoft, раздел «Строки подключения ODBC».
  2. После замены названия параметра мы обнаружим, что в вашей строке подключения не указан поставщик (Provider). Нужно его указать.

На моей машине из числа ODBC поставщиков есть поставщик MSDASQL, а исправленная программа выглядит так:

ODBC подключение к текстовому файлу

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
Sub Procedure_1()
 
    Const Q As String = """"
    
    'Ïóòü ê ïàïêå, ãäå ñîäåðæàòñÿ òåêñòîâûå ôàéëû.
    Const myFolderPath As String = "C:UsersUserDesktop"
    
    'Èìÿ òåêñòîâîãî ôàéëà.
    Const myDatabaseFile As String = "test.csv"
    
    'Îáúÿâëÿåì ïåðåìåííûå îáúåêòíîãî òèïà (èñïîëüçóåì ïîçäíåå ñâÿçûâàíèå).
    Dim myConnection As Object
    Dim myRecordset As Object
 
    'Ñîçäàåì îáúåêò "Connection".
    Set myConnection = CreateObject(Class:="ADODB.Connection")
    
    'Óêàçûâàåì, êàêîé ïðîâàéäåð íóæíî èñïîëüçîâàòü, àäðåñ áàçû äàííûõ,
        'äîïîëíèòåëüíûå ïàðàìåòðû.
    myConnection.ConnectionString = _
        "Provider=MSDASQL.1;" & _
        "Extended Properties=" & _
        Q & _
            "Driver={Microsoft Access Text Driver (*.txt, *.csv)};" & _
            "DBQ=" & myFolderPath & ";" & _
            "Extensions=txt,csv,tab,asc;" & _
            "FileDSN=" & myFolderPath & "" & myDatabaseFile & ".dsn" & _
        Q
 
    'Ïîäêëþ÷àåìñÿ ê áàçå äàííûõ.
    myConnection.Open
    
    'Ñîçäàåì îáúåêò "Recordset".
    Set myRecordset = CreateObject(Class:="ADODB.Recordset")
    
    'Óêàçûâàåì ñîåäèíåíèå, èñïîëüçóåìîå îáúåêòîì "Recordset".
    myRecordset.ActiveConnection = myConnection
    
    'Âûïîëíÿåì çàïðîñ ê áàçå äàííûõ.
    myRecordset.Open "SELECT * FROM " & myDatabaseFile
    
    'Òåñòèðóåì ðåçóëüòàò çàïðîñà.
    With myRecordset.Fields(0)
        Debug.Print "Ïåðâîå çíà÷åíèå ïîëÿ " & Q & .Name & Q & " ðàâíî " & .Value
    End With
    
    'Çàêðûâàåì íàáîð çàïèñåé.
    myRecordset.Close
    
    'Îñâîáîæäàåì ñîåäèíåíèå.
    myConnection.Close
    
End Sub

С уважением,

Aksima



1



5468 / 1148 / 50

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

Сообщений: 3,514

07.11.2013, 17:25

 [ТС]

3

Aksima, строку подключения я смотрел на специальном сайте (http://www.connectionstrings.com/textfile/), но название параметра не заметил. Сделал вместо слова «Provider» слово «Driver» и заработало.

Aksima, сейчас посмотрел в интернете, но не понял до конца (статьи на английском находил). Я правильно понял, что в текстовых файлах разделитель между полями при использовании «ADO» можно устанавливать только в двух местах:

  1. Windows-реестр;
  2. нужно создать текстовый файл и поместить его в специальное место. Из этого текстового файла макрос будет брать разделитель.

Если это так, то, наверное, в моём случае не подходит использование «ADO», т.к. сложно всё получается.

Мне нужно указать разделитель «;».



0



6076 / 1320 / 195

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

Сообщений: 1,023

07.11.2013, 17:42

4

Здравствуйте, Скрипт,

Да, вы правы. Если нужно использовать особый разделитель, то необходимо либо изменить соответствующую запись в реестре, либо использовать файл schema.ini.

По ссылке Excel, csv & Query вы можете найти мое решение этой проблемы.

С уважением,

Aksima



1



5468 / 1148 / 50

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

Сообщений: 3,514

07.11.2013, 18:26

 [ТС]

5

Aksima, я подробно не вчитывался в тему, ссылку на которую Вы дали в предыдущем сообщении (надо много времени потратить, прежде, чем осмыслить, что в той теме), но понял, что Вы используете текстовый файл, в котором есть информация о разделителе.

Буду знать, что не всё так просто с «ADO» и текстовыми файлами.

Aksima, не подскажите, в какой строке этого кода https://www.cyberforum.ru/post5065494.html указывается специальный текстовый файл с информацией о разделителях? Всматриваюсь и не могу найти.



0



Аксима

6076 / 1320 / 195

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

Сообщений: 1,023

07.11.2013, 22:22

6

Скрипт, указывать расположение данного файла не нужно.

Однако необходимо, чтобы этот файл лежал в той же папке, что и csv-файл. Когда драйвер будет его обрабатывать, он самостоятельно проверит наличие в папке csv-файла файла схемы данных и если он есть — применит указанные в нем настройки.

Если вы посмотрели далее в этой же теме еще один листинг, то наверняка обратили внимание на то, что при программном создании файла schema.ini я располагаю его в той же папке, где и csv-файл. Таким образом, указанное выше условие соблюдается.

Visual Basic
1
2
3
4
5
6
7
p = Application.GetOpenFilename("CSV data logs,*.csv", , _
    "Укажите расположение csv-файла", , False)
' ...
p = Left(p, InStrRev(p, "")) 'Путь к папке csv-файла.
' ...
Open p & "schema.ini" For Output As #1
' ...

С уважением,

Aksima



1



I am trying to connect Visual Basic to MS Access using ADODB. But as I execute my code, it prompts: «Provider cannot be found.It may not be installed properly.» But when I check on my directory I’ve got my «msjetoledb40.dll» installed.

Here is my code:

Dim conn As ADODB.Connection, rec As ADODB.Recordset

    Sub sample()

    Set conn = New ADODB.Connection

    conn.Open ("Provider=Microsoft.Jet.OLEDB 4.0;Data Source=C:sample.mdb;Persist Security Info=false;")
End Sub

JustinJDavies's user avatar

asked Nov 29, 2013 at 5:18

Kentot's user avatar

1

This would be better:

Sub sample()

  Dim conn As ADODB.Connection, rec As ADODB.Recordset
  Set conn = New ADODB.Connection
  conn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:sample.mdb;"
  conn.Open
End Sub

You missed a point.

Microsoft.Jet.OLEDB 4.0 => Microsoft.Jet.OLEDB.4.0

Ref: http://www.connectionstrings.com/.

answered Nov 29, 2013 at 7:26

jacouh's user avatar

jacouhjacouh

8,0175 gold badges30 silver badges43 bronze badges

1

Confirming the version of your MS Office on which the script is running. If you have installed MS Office 2013 or later, you should revise the connection string from:

Provider=Microsoft.Jet.OLEDB 4.0;Data Source=C:sample.mdb;Persist Security Info=false;

to:

Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:sample.mdb;Persist Security Info=false;

At least, this sovled my problem.

answered Nov 15, 2017 at 2:45

Sheng Huang's user avatar

My solution:

Error 3706

cs = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & sPath & ";Persist Security Info=False;"

Just Change 12.0 for 15.0

cs = "Provider=Microsoft.ACE.OLEDB.15.0;Data Source=" & sPath & ";Persist Security Info=False;"

and works, always you must to try change the version of the controller!.

msanford's user avatar

msanford

11.6k10 gold badges67 silver badges92 bronze badges

answered Aug 16, 2017 at 18:58

Luis's user avatar

All.

I have used a DLL approach explained on How to securely store Connection String details in VBA

This code is running very well on windows 10 64 bit and MS Office 64 bit. But same copy of the files i am not able to use on Wndows 8.1 Pro and MS Office 64 bit.

DLL generated is converted to host machnines environment by using

C:WindowsMicrosoft.NETFramework64v2.0.50727regasm c:windowssyswow64OraConnection.dll /tlb /codebase

But still same error i am facing. About environment variables care has been taken.
My Connection string is

"Provider=OraOLEDB.Oracle; Data Source = ;  User ID =; Password=";

asked Dec 13, 2017 at 11:18

Shekhar Nalawade's user avatar

11

In the Succesfull machine i was using Release 12.2.0.1.0 for ODAC 12.2c Release 1 as oracle client.

But saw a latest version of the oracle client as 64-bit ODAC 12.2c Release 1 (12.2.0.1.0) for Windows x64 which was released on 1st June 2017.

Installed the same. And my error was resolved. When i observed system environment variables i saw few things added into it.
E:appclientAdminproduct12.2.0client_1;E:appclientAdminproduct12.2.0client_1bin;C:UsersAdminOracle;

I dont know actually what they did. But error was resolved.

Can anybody throw highlight on this?

answered Dec 15, 2017 at 9:42

Shekhar Nalawade's user avatar

1

I’m not sure what the DLL buys you beyond simple obfuscation. All you’re doing is making it a bit harder to get to but not actually protecting the privacy of it in any meaningful sense. My normal advice for management of connection strings is to simply don’t save user/password. Instead, require the users to input the username/password at runtime and ensure that you have Persist Security Info=false in your OLEDB connection. That way, once it’s opened, the full connection string is now inaccessible and there’s no reference to a password. That’s much more secure than sticking it in a variable in a DLL and crossing your fingers nobody knows how to read a memory dump or attach a debugger.

That said, that’s not germane to your question, not able to the use the provider. First thing I’d do is to rule out whether the DLL is causing a problem that you didn’t expect by removing it and using the provider directly. If it likewise fails, then you know the DLL has nothing to do with it and you need to work out with Oracle’s provider documentation to get to the bottom of the issue.

answered Dec 13, 2017 at 11:47

this's user avatar

3

All.

I have used a DLL approach explained on How to securely store Connection String details in VBA

This code is running very well on windows 10 64 bit and MS Office 64 bit. But same copy of the files i am not able to use on Wndows 8.1 Pro and MS Office 64 bit.

DLL generated is converted to host machnines environment by using

C:WindowsMicrosoft.NETFramework64v2.0.50727regasm c:windowssyswow64OraConnection.dll /tlb /codebase

But still same error i am facing. About environment variables care has been taken.
My Connection string is

"Provider=OraOLEDB.Oracle; Data Source = ;  User ID =; Password=";

asked Dec 13, 2017 at 11:18

Shekhar Nalawade's user avatar

11

In the Succesfull machine i was using Release 12.2.0.1.0 for ODAC 12.2c Release 1 as oracle client.

But saw a latest version of the oracle client as 64-bit ODAC 12.2c Release 1 (12.2.0.1.0) for Windows x64 which was released on 1st June 2017.

Installed the same. And my error was resolved. When i observed system environment variables i saw few things added into it.
E:appclientAdminproduct12.2.0client_1;E:appclientAdminproduct12.2.0client_1bin;C:UsersAdminOracle;

I dont know actually what they did. But error was resolved.

Can anybody throw highlight on this?

answered Dec 15, 2017 at 9:42

Shekhar Nalawade's user avatar

1

I’m not sure what the DLL buys you beyond simple obfuscation. All you’re doing is making it a bit harder to get to but not actually protecting the privacy of it in any meaningful sense. My normal advice for management of connection strings is to simply don’t save user/password. Instead, require the users to input the username/password at runtime and ensure that you have Persist Security Info=false in your OLEDB connection. That way, once it’s opened, the full connection string is now inaccessible and there’s no reference to a password. That’s much more secure than sticking it in a variable in a DLL and crossing your fingers nobody knows how to read a memory dump or attach a debugger.

That said, that’s not germane to your question, not able to the use the provider. First thing I’d do is to rule out whether the DLL is causing a problem that you didn’t expect by removing it and using the provider directly. If it likewise fails, then you know the DLL has nothing to do with it and you need to work out with Oracle’s provider documentation to get to the bottom of the issue.

answered Dec 13, 2017 at 11:47

this's user avatar

3

 

mrzv

Пользователь

Сообщений: 44
Регистрация: 27.07.2015

#1

31.08.2018 12:11:55

Здравствуйте, раньше не имел дела с подключением к БД. Прошу помочь.
На просторах нашего форума нашел вот такую строку подключения

Код
Set cn = CreateObject("ADODB.Connection")
       cn.Open "Provider=MSDAORA.1;Data Source=***;Password=***;User ID=***"

но как настроить под свой лад не пойму. На счет Data Source=***;Password=***;User ID=*** все понятно
А вот Provider какой нужно использовать?
Я установил драйвер с сайта oracl «Oracle in instantclient_18_3» имя его «SQORA32.DLL».  

 

ivanok_v2

Пользователь

Сообщений: 712
Регистрация: 19.08.2018

Пример 1

ConnectionString для всех языков програмирования однаковая.
если вы подключаетсь через другое ПО,  значить нужные драйвера уже есть.

 

mrzv

Пользователь

Сообщений: 44
Регистрация: 27.07.2015

#3

31.08.2018 13:01:35

Цитата
ivanok_v2 написал:
если вы подключаетсь через другое ПО,  значить нужные драйвера уже есть.

Как тогда определить какой драйвер мне нужно использовать?

 

Nordheim

Пользователь

Сообщений: 3154
Регистрация: 18.04.2017

Я подключаюсь так «Provider=msdaora»

«Все гениальное просто, а все простое гениально!!!»

 

sokol92

Пользователь

Сообщений: 4429
Регистрация: 10.09.2017

#5

31.08.2018 13:14:12

Код
Provider=ORAOLEDB.ORACLE

Владимир

 

mrzv

Пользователь

Сообщений: 44
Регистрация: 27.07.2015

#6

31.08.2018 13:17:35

Вот такую ошибку мне выдает на строке подключения

Код
Set cn = CreateObject("ADODB.Connection")
       cn.Open "Provider=ORAOLEDB.ORACLE;Data Source=192.168.200.253:1521/xe;Password=org;User ID=pqw2"

Run-time error 3706
Не удается найти указанный поставщик.Вероятно, он установлен неправильно.

Изменено: mrzv31.08.2018 13:20:59

 

sokol92

Пользователь

Сообщений: 4429
Регистрация: 10.09.2017

Установите клиент Oracle в полном объеме. По умолчанию указанный выше драйвер может и не устанавливаться. Кроме того, учтите, что разрядности (32- или 64-) клиента Oracle и MS Office должны совпадать.

 

sokol92

Пользователь

Сообщений: 4429
Регистрация: 10.09.2017

Проверить доступность провайдера можно через Меню/Данные/Из других источников/Из мастера подключений/Дополнительно (путь дан для Excel 2016). Имя провайдера: Oracle Provider for OLE DB.Там же можно протестировать его работоспособность.

Изменено: sokol9231.08.2018 14:22:37

 

mrzv

Пользователь

Сообщений: 44
Регистрация: 27.07.2015

#9

31.08.2018 15:51:51

Спасибо за совет

Цитата
sokol92 написал:
через Меню/Данные/Из других источников/Из мастера подключений/Дополнительно (путь дан для Excel 2016)

Я создал подключение ODBC DNS посмотрел там строку подключения . Вставил её в свой код и все получилось. Только вот русские буквы вопросами…

Код
cn.Open "ODBC;DBQ=192.168.200.253:1521/XE;UID=orga;PWD=a546;DSN=ALGO"
 

mrzv

Пользователь

Сообщений: 44
Регистрация: 27.07.2015

#10

31.08.2018 16:21:48

Вот такой код, я получаю нужную мне информацию, но кириллица вопросами. Что я делаю не так?

Код
Sub ImpOracle()
Set cn = CreateObject("ADODB.Connection")
       cn.Open "ODBC;DBQ=192.168.200.253:1521/XE;UID=orga;PWD=a546;DSN=ALGO"
'========================================================================================
sSql = "select partner_short_name, trunc(OUTCOME_DATE_SALE) d, sum(roh.sum_w_nds) s,count(1) h from t_partner p, T_REMOTE_ROZNICA_OUTCOME_HEAD roh where ROH.REMOTE_PARTNER_ID = p.PARTNER_ID and trunc(OUTCOME_DATE_SALE) between sysdate - 3 and sysdate group by partner_short_name, trunc(OUTCOME_DATE_SALE)"

Set Rs = GetRs(sSql, cn)
Sheets("Лист1").[a1].CopyFromRecordset Rs
Rs.Close
Set Rs = Nothing
End Sub

Function GetRs(sstr, cn)
Set rstdata = CreateObject("ADODB.Recordset")
    rstdata.Open sstr, cn
    Set GetRs = rstdata
Set rstdata = Nothing
End Function

весь код взял из этой статьи https://www.planetaexcel.ru/forum/index.php?PAGE_NAME=message&FID=1&TID=60251

 

sokol92

Пользователь

Сообщений: 4429
Регистрация: 10.09.2017

Вы, похоже, подключили провайдер Microsoft, а не Oracle. Мы всегда работали с провайдером Oracle.

 

mrzv

Пользователь

Сообщений: 44
Регистрация: 27.07.2015

#12

03.09.2018 15:29:03

И так с проблемой провайдера я разобрался
Криво стояли драйвера oracle
Последний раз когда я их устанавливал я качал их вот отсюда

http://www.oracle.com/technetwork/database/windows/downloads/index-090165.html

скачивал вот этот файл:
64-bit ODAC 12.2c Release 1 (12.2.0.1.1) for Windows x64
[Released August 3, 2018]

ODAC122011_x64.zip — 406 MB (426,617,132 bytes)

В этом архиве есть нормальный setup

Правильная строка подключения выглядит вот так:

Код
Set cn = CreateObject("ADODB.Connection")
cn.Open "Provider=OraOLEDB.Oracle;Data Source=192.168.200.253:1521/XE;User ID=***;Password=***"

что касается кодировки при использовании DSN вместо Provider, то мне так и не удалось разобраться. Но на мой взгляд способ подключения через Provider более правильный.

Спасибо всем за помощь.

Изменено: mrzv03.09.2018 15:30:00

 

sokol92

Пользователь

Сообщений: 4429
Регистрация: 10.09.2017

 

bedvit

Пользователь

Сообщений: 2477
Регистрация: 02.04.2015

Виталий

#14

03.09.2018 23:46:15

Владимир, работаем тоже с родными драйверами Oracle. Microsoft не используем.

«Бритва Оккама» или «Принцип Калашникова»?

Понравилась статья? Поделить с друзьями:
  • Run time error 340
  • Run time error 339 component msflxgrd ocx как исправить
  • Run time error 339 component mscomctl ocx как исправить windows 10
  • Run time error 339 component mscomctl ocx or one of its dependencies not
  • Run time error 339 component mscomct2 ocx как исправить