Источник данных не найден и не указан драйвер используемый по умолчанию postgresql

Обновлено: 04.07.2024

При переезде на другой сервер столкнулся со следующей проблемой (Произошла исключительная ситуация Microsoft OLE DB Provider for ODBC Drivers): не работал обмен 1С с внешней базой данных MySQL. Оно то и правильно что не работал. Он не должен, ведь я не установил ODBC Connector MySQL и как следствие при попытке обмена видел ошибку (у вас наверняка что-то подобное выползает на экран, если вы сюда попали гугля аналогичную проблему 😉)

: Ошибка при вызове метода контекста (Open)
Соединение.Open();
по причине:
Произошла исключительная ситуация (Microsoft OLE DB Provider for ODBC Drivers): [Microsoft][Диспетчер драйверов ODBC] Источник данных не найден и не указан драйвер, используемый по умолчанию

ПУНКТ 2. КАКАЯ ВЕРСИЯ MYSQL ODBC ANSI DRIVER НУЖНА?

И так. У нас для решения проблемы с подключением 1С 8.2/8.3 к промежуточной базе MySQL нам нужен, как я уже писал выше, ODBC Connector MySQL! И не простой, а именно тот, что у нас прописан в модуле обмена. Идём в Конфигуратор 1С , находим там модуль в котором прописано подключение и смотрим какой же чудесный драйвер и какой версии используется для подключения к внешней базе данных! И о чудо - это MySQL ODBC 5.3 ANSI Driver ! В моём случае, конечно у вас он может быть другой версии.

Сервер=" 127.0.0.1 ";
БазаДанных=" MySQLdbname ";
Пользователь=" sa ";
Пароль=" P@ssW0rD123! ";

Соединение = Новый COMОбъект("ADODB.Connection");
СтрокаСоединения = "Provider=MSDASQL;DRIVER=< MySQL ODBC 5.3 ANSI Driver >;SERVER="+Сервер+";DataBase="+БазаДанных+";UID="+Пользователь+";PWD="+Пароль+";";
Соединение.ConnectionString = СтрокаСоединения;
Соединение.Open();
Возврат Соединение;

Подчёркнутое заменить на своё 🙂

ПУНКТ 3. УСТАНОВКА MYSQL ODBC ANSI DRIVER

Но всё это чудо не будет работать собственно без драйвера, так что идём по этой ссылке и скачиваем себе драйвер подходящей версии и разрядности. Копируем на сервер и устанавливаем его. Думаю с этим у вас проблем не возникнет, а если будут, то дальше можете не читать 🙂.

ПУНКТ 4. НАСТРОЙКА СОЕДИНЕНИЯ 1С 8.2/8.3 С ВНЕШНЕЙ БАЗОЙ ДАННЫХ MYSQL

Дальше нам понадобится программа odbcad32 . Её устанавливать не нужно, она у вас уже есть! Ищите её в Администрирование или Ctrl + R odbcad32 Enter

Для 32 битных систем программа расположена:

%windir%\system32\odbcad32.exe

А для 64 битных систем программа лежит тут:

%windir%\syswow64\odbcad32.exe

Но и ту и другую вы можете открыть из Администрирование в панели управления.

однако, когда соединение с базой данных MySQL сделано ( MySQLConn.Open() ), возвращена следующая ошибка:

ошибка [IM002] [Microsoft][диспетчер драйверов ODBC] имя источника данных не найден и не указан драйвер по умолчанию

почему это и как я могу предотвратить это?

кроме того, каковы возможные причины появления этой ошибки? Если учетные данные для входа неверны, будет ли показана эта ошибка?

проблема была вызвана тем, что я устанавливал 64-bit MySQL ODBC 5.1 драйвер, потому что моя ОС работает 64 бит.

потому что я пытался решить это в течение нескольких дней, как длинный выстрел, я удалил драйвер и установил 32-bit драйвер MySQL ODBC 5.1.

это исправило ошибку, и теперь я делаю успешное соединение.

вы можете проверить, установлен ли драйвер. вот руководство по получению списка

Проверьте, установлены ли у вас какие-либо, а также убедитесь, что ваша версия совпадает с версией в строке подключения.

вы должны иметь возможность загрузить драйвер здесь

мое решение "имя источника данных не найдено" (с драйвером 5.2.4 ODBC ansi, Win7 64bit):

1) Установите 64-битный драйвер ODBC MySQL - он должен быть виден в драйверах ODBC.

2) Установите 32 - битный драйвер ODBC MySQL-он невидим в драйверах ODBC, но создайте "теневую" установку в Program Files x86.

Курт был прав. У меня была именно эта проблема. Поскольку у меня был MySQL Workbench, установленный на моей рабочей станции, я предположил, что у меня установлены драйверы; нет. Установка драйвера плюс вызов его по правильной версии и добавление команды "Provider=MSDASQL;" в строку подключения из-за того, что я на 64-битной системе решил проблему для меня. Если вы хотите увидеть все драйверы ODBC, установленные в системе Windows, откройте редактор реестра по адресу:

там вы узнаете, установлен ли драйвер MySQL, и если да, то его правильное имя.

Этой Ссылке доставит вас на сайт загрузки драйверов MySQL.

моя проблема заключалась в том, что у меня был код

DRIVER=, но когда я посмотрел ODBC через поисковик windows, я нашел приложение под названием источники данных ODBC, в этом приложении под драйверы tab я обнаружил, что имя дисков было . Это решило проблему.

В данном примере рассматривается ситуация, когда ZuluGIS/ZuluServer и PostgreSQL работают на одном ПК.

Для работы с PostgreSQL следует установить ODBC драйвер (Unicode) для 32 битной версии!

Настройка происходит в несколько шагов:

Шаг 1. Создание системного DSN источника

Первоначально, при создании ODBC источника данных надо настроить системный DSN с помощью операционной системы Windows. Для этого:

Выберите Пуск|Панель управления , перейдите в пункт Администрирование и запустите Источники данных ODBC 32 .

Администратор источника данных ODBC

Рисунок 418. Администратор источника данных ODBC

Перейдите на вкладку Системный DSN и нажмите кнопку Добавить. .

В открывшемся окне выберите драйвер PostgreSQL Unicode

Выбор драйвера подключения

Рисунок 419. Выбор драйвера подключения

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

Data Source – имя источника данных ( Zulu_PostgreSQL ).

Database - база данных ( postgres ).

Server - IP адреса серверного компьютера ( 192.168.27.1 ).

User name - имя пользователя ( postgres ).

Password – пароль для пользователя «postgre», с использованием которого будет осуществляться подключение к базе данных (на сервере с PostgreSQL должен быть предварительно создан пользователь).

Свойства соединения системного источника

Рисунок 420. Свойства соединения системного источника

Нажать кнопку Save для сохранения системного DSN источника.

Шаг 2. Создание источника данных ZuluGIS

Для создания источника в ZuluGIS:

Выберите пункт главного меню Таблица|Источники данных. .

Выбираем вкладка главного меню Сервер|Конфигурация и добавляем источник данных, с помощью кнопки Добавить .

Создание источника данных

Рисунок 421. Создание источника данных

Выбрать Тип подключения Источник ODBC , установит маркер Использовать строку соединения и нажать Построить.

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

Выбор системного источника данных

Рисунок 422. Выбор системного источника данных

Указать данные авторизации

Далее можно использовать передавать учетные сведения ZuluServer для авторизации.

Database - база данных ( ZuluBase ).

User Name - имя пользователя ( postgres ).

Password - пароль пользователя.

Свойства соединения пользовательского источника

Рисунок 423. Свойства соединения пользовательского источника

Нажать ОК для сохранения свойств PostgreSQL соединения.

Укажите дополнительно в параметрах источника:

Использовать учетные сведения ZuluServer - логин и пароль, используемые для авторизации на ZuluServer передаётся на сервер СУБД.

Параметры источника данных Zulu

Рисунок 424. Параметры источника данных Zulu

Теперь источник доступен для дальнейшего использования и публикации на ZuluServer.

Не забудьте настроить в PostgreSQL разрешения (permissions) для базы для дальнейшей работы!

Подготовка

В начале нужно сказать, что все испытания проводились на ОС Windows 7 (64-bit) и Windows 10 (64-bit), а подключения производились к серверу PostgreSQL (64-bit) 9.4.2-1.1C.

Первое, что нам потребуется это установленный драйвер psqlODBC. Установить его можно либо при помощи приложения Stack Builder (которое устанавливается вместе с PostgreSQL):

Stack Builder

Stack Builder

Либо посетив страничку, на которой представлено множество версий нашего драйвера:

Важно! Устанавливать нужно именно psqlODBC (32 bit).

С драйвером psqlODBC (64 bit) мне не удалось подключиться к базе данных ни одним способом, ни в одной ОС. Весьма вероятно, что причина этого в моих кривых руках, но что есть, то и пишу.

Так или иначе, после установки правильной версии драйвера у нас есть несколько способов получения данных.

Подключение внешнего источника данных

Подключение базы PostgreSQL в качестве внешнего источника данных является простым и наглядным. Создаем новый внешний источник данных и добавить новую таблицу:

Внешний источник данных. Шаг 1

Внешний источник данных. Шаг 1

Затем указываем строку подключения примерно такова вида:

Driver=;Server=host;Port=port;Database=db_name;Uid=user;Pwd=password;STMT=utf8

И в результате получаем список таблиц:

Внешний источник данных. Шаг 3

Внешний источник данных. Шаг 3

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

Подключение при помощи ADODB

Подключение к базе PostgreSQL и выполнение различных запросов при помощи библиотеки ADOdb выглядит приблизительно так:

АДОСоединение.ConnectionString = "Driver=;Server=localhost;Port=5432;Database=test;Uid=postgres;Pwd=123456;STMT=utf8";

Сам процесс создания пользовательского источника данных прост:

Пользовательский источник данных

Пользовательский источник данных

После того как источник создан, протестирован и сохранен можно использовать строку подключения следующего вида:

Еще раз напомню, что вариант строки подключения с пользовательским источником данных не сработал (у меня, по крайней мере) при подключении базы PostgreSQL как внешний источник данных.

На этом все, надеюсь данная статья Вам помогла.

Если Вы нашли ошибку или неточность, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Читайте также: