Как удалить драйвер odbc
Доброго времени суток!
Прошу помочь в решении проблемы. Или подсказать, проблема ли это вообще?
Есть сервер Windows Server 2003 x64.
В журнале в разделе Система постоянно сыпятся две ошибки
Source: Service Control Manager
Event ID: 7000
The ODBC Administration Service service failed to start due to the following error:
The service did not respond to the start or control request in a timely fashion.
Source: Service Control Manager
Event ID: 7009
Timeout (30000 milliseconds) waiting for the ODBC Administration Service service to connect.
Поискав в интернете решение своей проблемы, я нашёл, что это связано с тем, что здесь Data Sources (ODBC) не установлены необходимые драйвера. На вкладке User DSN, присутствуют несколько записей, но при нажатии на них выскакивает вот такая запись
---------------------------
Microsoft ODBC Administrator
---------------------------
The setup routines for the Microsoft Access Driver (*.mdb, *.accdb) ODBC driver could not be found. Please reinstall the driver.
---------------------------
OK
---------------------------
---------------------------
Driver's ConfigDSN, ConfigDriver, or ConfigTranslator failed
---------------------------
Component not found in the registry
---------------------------
OK
---------------------------
На сайте поддержки Майкрософта, я нашёл статью, в которой описывалось, как решить проблему путём внесения записей в реестр, но у меня физически нет необходимых драйверов.
На одном из форумов нашёл пожелание установить mdac, но при переходе на страничку скачки, прочитал, что он только для x86 систем. На том же форуме есть вот такой вопрос:
"64-bit will not communicate with the 32-bit odbc driver manager. I don't think there is a 64-bit Access, is there?"
Который я задаю. Также повторю то что написал вверху.
Если это проблема, то как её решить?
Сразу оговорюсь, опыт у меня не очень большой в решении подобных проблем. И прошу не посылать в гугл ибо сижу там и без этих советов.
This information applies to MYOB AccountRight version 19. For later versions, see our help centre.
ANSWER ID:31377
MYOB ODBC Direct is an ODBC (Open Database Connectivity) driver designed to enable an ODBC connection to an MYOB company file.
The ODBC driver is a Windows-compatible component with functionality that enables access to your MYOB business information. The driver acts as an interface between the MYOB database and other applications, interpreting requests to, and providing information from, the database using the most popular database industry standard, ODBC.
The instructions below are intended for people with an understanding of Data Source Names (DSNs) and the function of the ODBC driver. Typically this will be an IT person or your system administrator.
To check if your ODBC driver is compatible with your 3rd party solution, check with the solution provider.
Open the Control Panel
In Windows 8 and later, click the Windows Start button and type "control panel" then click Control Panel.
Ensure the View by is set to Small icons.
Identify any MYOB ODBC DSNs - these can be identified in the Driver column as being an MYOB ODBC drivers.
Identify any MYOB ODBC DSNs - these can be identified in the Driver column as being an MYOB ODBC drivers.
Access the list of programs that are installed on your computer.
Right-click the Windows Start button and choose Apps and Features.
Right-click your AccountRight shortcut on the desktop and choose Open file location.
Несколько дней назад встал вопрос о написании консольного приложения, которое будет работать в Linux CentOS 7 и взаимодействовать с MS SQL Server 2012. Мне очень нравится Qt и я решил, что воспользуюсь им для решения этой задачи. И если под Windows я достаточно быстро настроил необходимое окружение, то под Linux я столкнулся с проблемами, которые очень тяжело было решить с помощью гуглинга. Этому вопросу я посвятил полтора дня. Считаю полезным поделиться своим опытом, возможно кому-то это поможет сэкономить драгоценное время.
Инструменты
Я не хочу тянуть на сервер исходники Qt, для того чтобы собрать плагин и само приложение. Поэтому беру образ CentOS 7 LiveGNOME и устанавливаю его на VirtualBox машину. После делаю полный апдейт, и ставлю VirtualBox Guest Additions.
Скачиваю установщик Qt для Linux x64. Устанавливаю Qt 5.9.1, дополнительно при установке выбираю галочку Source, чтобы получить исходники.
Установка Microsoft ODBC Driver for SQL Server
Согласно инструкции устанавливаю драйвер:
Драйвер нужно установить как на VirtualBox, так и на машину, где будет работать софт.
Сборка Qt плагина QODBC
Следуя инструкции, скачиваем куда-нибудь unixODBC, распаковываем. Теперь нам нужно собрать unixODBC и установить. В документации Qt, а так же в других источниках в основном я встречал примеры, которые предполагают установку unixODBC в /usr/local/unixODBC. Тут дело вкуса конечно, но я буду использовать именно такое расположение. Так же файлы конфигов драйверов я хочу поместить в /usr/local/etc Для этого нужно сконфигурировать unixODBC со следующими параметрами:
Затем собираем и устанавливаем:
Теперь необходимо настроить конфигурацию Microsoft ODBC Driver for SQL Server. Для этого переходим в /usr/local/unixODBC/bin и выполняем:
Если вы устанавливали драйвер как было описано выше, то расположение файла odbcinst.ini будет именно таким. Иначе вам нужно определить свой путь. Все эти действия нужно выполнить и на Virtualbox машине и на рабочей.
Теперь нужно собрать Qt плагин для работы с ODBC драйвером. И с этого момента начинаются проблемы, которые частично связаны с багом, который еще не пофиксили. Для того, чтобы собрать плагин придется применить некоторые костыли. Если у кого-то возникнет более элегантный вариант костыля, пожалуйста напишите в комментариях.
Итак, для сборки в штатных условиях нам нужно выполнить простую процедуру. Переходим в QT_DIR/5.9.1/Src/qtbase/src/plugins/sqldrivers/odbc и выполняем:
Но из-за того, что имеем баг, скорее всего вы получите ошибку:
На отсутствие файла qtsqldrivers-config.pri, можно не обращать внимание, а вот вторая ошибка не даст нам собрать плагин. Чтобы ее избежать нужно закомменитровать в файле odbc.pro строчку:
После этого повторим вызов qmake:
И получим на выходе Makefile. Еще одна проблема с которой я столкнулся это флаги компилятора -Wdate_time и -std=c++1z, которые вызывали ошибку сборки.
На этот момент я уже потратил много времени, чтобы хоть как-то собрать плагин, поэтому эту проблему я решил жестко, просто открыл сгенерированный Makefile и изменил -std=c++1z на -std=c++11, а флаг -Wdate_time просто удалил. Эти пары флагов встречаются в двух местах. Можно установить более свежий gcc, или может кто-то подскажет есть ли возможность указать для qmake какие-то параметры, чтобы использовать c++11 вместо c++17?
Как бы вы ни поступили, теперь можно выполнить:
Тестовое приложение
Я создал консольное приложение в Qt и написал следующий код для тестирования соединения:
Собираем проект на Virtualbox машине. Запускаем, убеждаемся, что все работает. После этого собираем Release версию программы. Я не буду сейчас описывать процесс деплоя Qt приложений. Возможно это тема для еще одной публикации. Я опишу лишь ключевые моменты.
Вместе с исполняемым файлом вам потребуются дополнительные библиотеки, которые можно посмотреть с помощью ldd. Так же вам потребуется сам плагин, который вы собрали. Он лежит в моем случае в QT_DIR/5.9.1/gcc_64/plugins/sqldrivers и называется libsqlodbc.so. Его необходимо так же утащить за собой. Библиотеки вы можете положить например в /usr/lib и система их подхватит, а с плагинами дело обстоит несколько по-другому. Есть множество способов сказать Qt от куда загружать плагины. Самый простой — это перед запуском определить переменную окружения QT_PLUGIN_PATH.
Запускаем программу, все должно работать.
Заключение
Хотелось бы услышать комментарии по поводу альтернативных решений данного вопроса. С удовольствием дополню/исправлю этот пост.
При попытке подключения к драйверу через Excel (Данные -> источник внешних данных) получаю "В указанном DSN архитектура приложения не соответствует друг другу".
Если через VBA, то ошибка "Источник данных не найден и не указан драйвер, используемый по-умолчанию".
Вся информация о проведенных настройках на скриншотах.
ОС: Windows 7 x64.
MySQL 5.5 x32, user: root, pass: 333. Имя базы данных: testme.
Query Browser подключается без ошибок.
Драйвер mysql-connector-odbc-5.1.10-winx64.
Подключение драйвера ODBC mySQL
Добрый день. помогите начинающему. есть сервер с IP адресом 10.90.1.23 на котором установлен.
Как программно зарегестрировать новый источник данных(ODBC)?
Пишу прогу на Делфе, для доступа к данным использую ADO, при этом надо залазить в Источники.
Импорт данных в Excel из ODBC драйвера
Всем доброго времени суток. Описание проблемы. Есть ODBC драйвер для подключения к некой БД. Так.
Не могу создать локальное подключение ODBC к mysql через Foxpro
Доброе время суток!) Пишу базу данных на Foxpro. Нужно, чтобы база брала с локального сервера.
Могу помочь только с помощью поиска Гугла. Я, к сожалению, обо всем этом имею довольно поверхностное преставление на уровне Advanced User.
Тема привязана к разделу фриланса.
Дополнительные данные по сути топика:
Не знаю какие библиотеки подключать.
Сейчас подключена Microsoft ActiveX Data Objects 2.8 Library
Настраивал по гайду отсюда.
Часть параметров подключения смотрел здесь.
Есть ли у кого навыки подключения в обход ODBC, например через libmySQL.dll ?
Добавлено через 1 час 11 минут
Может попробовать со старым драйвером (3.51) ?
Добавлено через 6 часов 5 минут
Действительно, все заработало на драйвере 3.51.
При тех же настройках (только имя драйвера поменял) с установленным 5.1.10-winx64
пишет ошибку из топика.
ОС: Windows 7 x64.
MySQL 5.5 x32, user: root, pass: 333. Имя базы данных: testme.
Query Browser подключается без ошибок.
Драйвер mysql-connector-odbc-5.1.10-winx64.
У меня winXP x86 и драйвера соответветсвующие, работает без проблем, - пример в этом топике
Windows 7 x64 у меня нет. Покупать его не буду, но если сумею за выходные найти дистрибутив для экспериментов, обязательно попробую.
64-битный драйвер. А используете в 32-битном Excel. У меня на машине Office 2010 32-битный и установлен 32 же драйвер mysql-connector-odbc-5.1.9-win32. Всё работает, включая VBScript. ОС Windows 7 64bit Professional.
Решение
Кракозябры отображаемые в окне консоли mysql и выведенные в ADO.Recordset после добавления записи клиентом mysql можно и нужно победить!
Установлено: W7 x64, MySQL 5.5 x32 - дополнительные тесты установки драйверов ODBC для MySQL.
После проведения этих тестов, получил следующее:
Если установить только odbc-win32, то добавить в источник данных ODBC для W7 x64 (Панель управления -> Все элементы панели управления -> Администрирование -> Источники данных ODBC) драйвер MySQL не получается!
Если установить odbc-winx64, тогда можно добавить источник данных ODBC для MySQL сервера и возможно получать данные от MySQL при ранее установленном драйвере odbc-win32. Без установленного драйвера odbc-win32 всегда получал ошибку тема этого топика. А вот после добавления источника данных ODBC для MySQL сервера, я удалил установленный драйвер odbc-winx64, драйвер odbc-win32 остался установлен. И приложение (VBA) по прежнему работало!
И последнее, не ожидал такого поведения от клиента mysql в W7 x64, и был вынужден вручную задавать (set names cp1251) для правильного отображения данных в консоли mysql, впрочем учитывая, что никаких изменений в дефолтной настройке MySQL не проводил, это и есть правильно поведение сервера :)
Добавлено через 2 часа 7 минут
Кстати, с сайта mysql
The following instructions only work for 32-bit Windows systems. If you have a 64-bit Windows system, use the MSI installer, which installs both the 32-bit and 64-bit drivers to the correct locations.
Можно изменить и удалить ODBC и источники данных JDBC с помощью приложения Database Explorer или командной строки. Для драйверов ODBC можно создать, изменить и удалить источники данных с помощью диалогового окна ODBC Data Source Administrator. Для драйверов JDBC можно создать, изменить и удалить источники данных с помощью диалогового окна JDBC Data Source Configuration или командной строки.
Измените источники данных в интерактивном режиме
Используйте приложение Database Explorer, чтобы изменить источники данных путем выполнения этих шагов.
Источники данных ODBC
Откройте приложение Database Explorer. В разделе Data Source вкладки Database Explorer выберите Configure Data Source> Configure ODBC data source. Диалоговое окно ODBC Data Source Administrator открывается.
В качестве альтернативы запуститесь configureODBCDataSource функция.
В диалоговом окне ODBC Data Source Administrator выберите источник данных, чтобы изменить. Нажмите Configure.
Измените настройки по мере необходимости.
Источники данных JDBC
Открытие приложения Database Explorer. В разделе Data Source вкладки Database Explorer выберите Configure Data Source> Configure JDBC data source. Диалоговое окно JDBC Data Source Configuration открывается.
Нажмите Edit. В списке выберите источник данных, чтобы изменить. Нажмите OK.
Измените настройки в диалоговом окне JDBC Data Source Configuration. Если вы не изменяете имя источника данных, приложение Database Explorer перезаписывает существующий источник данных с новыми настройками. Чтобы постараться не перезаписывать существующий источник данных, введите новое имя источника данных.
Нажмите Test. Диалоговое окно Test Connection открывается. Введите имя пользователя и пароль для своей базы данных. Нажмите Test.
Нажмите Save.
Измените источники данных программно
Используйте командную строку, чтобы изменить источники данных путем выполнения этих шагов.
Источники данных ODBC
Измените источник данных ODBC с помощью диалогового окна ODBC Data Source Administrator. Чтобы получить доступ к этому диалоговому окну, смотрите configureODBCDataSource функция.
Источники данных JDBC
Отредактируйте существующий источник данных JDBC с помощью databaseConnectionOptions функция.
Установите опции связи JDBC с помощью setoptions функция. Или, можно установить свойства в SQLConnectionOptions объект с помощью записи через точку.
Добавьте специфичные для драйвера опции связи JDBC с помощью setoptions функция. Или, удалите существующие специфичные для драйвера опции JDBC с помощью rmoptions функция.
Протестируйте соединение с базой данных с помощью testConnection функция.
Сохраните источник данных JDBC с помощью saveAsDataSource функция.
Удалите источники данных в интерактивном режиме
Используйте приложение Database Explorer, чтобы удалить источники данных путем выполнения этих шагов.
Источники данных ODBC
Откройте приложение Database Explorer. В разделе Data Source вкладки Database Explorer выберите Configure Data Source> Configure ODBC data source. Диалоговое окно ODBC Data Source Administrator открывается.
Выберите источник данных, чтобы удалить.
Нажмите Remove.
Источники данных JDBC
Откройте приложение Database Explorer. В разделе Data Source вкладки Database Explorer выберите Configure Data Source> Configure JDBC data source. Диалоговое окно JDBC Data Source Configuration открывается.
Нажмите Edit.
В списке выберите имя источника данных, чтобы удалить. Нажмите OK.
Нажмите Delete и нажмите Yes.
Удалите источники данных программно
Удалите источник данных ODBC с помощью диалогового окна ODBC Data Source Administrator. Чтобы получить доступ к этому диалоговому окну, смотрите configureODBCDataSource функция.
Чтобы удалить источник данных JDBC, задайте имя источника данных в deleteDataSource функция.
Читайте также: