Как установить драйвер odbc
начиная с Windows XP и Windows Server 2003, ODBC входит в Windows операционную систему. Следует явно устанавливать ODBC только в более ранних версиях Windows.
В этом разделе описывается, как устанавливаются и удаляются компоненты ODBC. Поскольку разработчики драйверов всегда устанавливают компонент ODBC (драйвер), им нужно прочитать этот раздел. Разработчикам приложений необходимо прочитать этот раздел только в том случае, если они поставляют компоненты ODBC с приложениями. Компоненты ODBC включают диспетчер драйверов, драйверы, переводчики, библиотеку DLL установщика, библиотеку курсоров и все связанные файлы. В этом разделе приложения ODBC не считаются компонентами ODBC.
этот раздел относится только к платформам Windows майкрософт. Установка компонентов ODBC на других платформах зависит от платформы.
Компоненты ODBC устанавливаются и удаляются отдельно для каждого компонента, а не для каждого файла. Например, если транслятор состоит из самого транслятора и нескольких файлов данных, эти файлы устанавливаются и удаляются в виде группы. они не должны устанавливаться и удаляться отдельно для каждого файла. Причина этого заключается в том, чтобы убедиться в том, что в системе существует только полный компонент.
В целях установки и удаления компонентов определены следующие компоненты ODBC:
Основные компоненты. Диспетчер драйверов, Библиотека курсоров, Библиотека DLL установщика и другие связанные файлы составляют основные компоненты и должны быть установлены и удалены в виде группы.
Поставщиков. Каждый драйвер является отдельным компонентом.
Преобразователей. Каждый переводчик является отдельным компонентом.
Благодаря поддержке Юникода в ODBC 3,5 и более поздних версиях следует учитывать некоторые факторы, которые следует учесть при использовании компонентов OLE DB с ODBC. Версия 1,1 поставщика OLE DB для ODBC была записана в конкретные спецификации Юникода в ODBC 3,0. Поскольку эти спецификации изменились в ODBC 3,5, необходимо иметь поставщик версии 1,5 или более поздней при использовании ODBC 3,5 и более поздних версий. Этот раздел содержит следующие подразделы.
В этой статье обсуждаются драйверы ODBC, подключающиеся к SQL Server.
Совместимость с версиями SQL
Совместимость указывает, что драйвер был протестирован на совместимость с существующими выпусками SQL во время выпуска драйвера. Выпуски SQL Server обычно пытаются поддерживать обратную совместимость с существующими драйверами клиента. Но новые функции в выпусках SQL Server могут быть недоступны для более старых версий клиентских драйверов.
Версия базы данных → ↓ Версия драйвера | База данных SQL Azure | Azure Synapse Analytics | Управляемый экземпляр SQL Azure | SQL Server 2019 | SQL Server 2017 | SQL Server 2016 | SQL Server 2014 | SQL Server 2012 | SQL Server 2008 R2 | SQL Server 2008 | SQL Server 2005 |
---|---|---|---|---|---|---|---|---|---|---|---|
18.0 | Да | Да | Да | Да | Да | Да | Да | Да | |||
17.9 | Да | Да | Да | Да | Да | Да | Да | Да | |||
17.8 | Да | Да | Да | Да | Да | Да | Да | Да | |||
17,7 | Да | Да | Да | Да | Да | Да | Да | Да | |||
17.6 | Да | Да | Да | Да | Да | Да | Да | Да | |||
17.5 | Да | Да | Да | Да | Да | Да | Да | Да | |||
17.4 | Да | Да | Да | Да | Да | Да | Да | Да | |||
17.3 | Да | Да | Да | Да | Да | Да | Да | Да | Да | Да | |
17.2 | Да | Да | Да | Да | Да | Да | Да | Да | Да | ||
17.1 | Да | Да | Да | Да | Да | Да | Да | Да | Да | ||
17,0 | Да | Да | Да | Да | Да | Да | Да | Да | Да | ||
Версия 13.1 | Да | Да | Да | Да | Да | Да | |||||
13 | Да | Да | Да | Да | Да | ||||||
11 | Да | Да | Да | Да | Да |
Сведения о строке подключения
Имя драйвера, которое вы указываете в строке подключения, должно быть одним из следующих:
- ODBC Driver 11 for SQL Server
- ODBC Driver 13 for SQL Server (для версии 13 и 13.1)
- ODBC Driver 17 for SQL Server
- ODBC Driver 18 for SQL Server
Поддерживаемые операционные системы
Следующая таблица указывает на поддержку версии драйвера для версий операционной системы Windows:
Операционная система → ↓ Версия драйвера | Windows Server 2022 | Windows Server 2019 | Windows Server 2016 | Windows Server 2012 R2 | Windows Server 2012 | Windows Server 2008 R2 | Windows 11 | Windows 10 | Windows 8.1 | Windows 7 | Windows Vista с пакетом обновления 2 (SP2) |
---|---|---|---|---|---|---|---|---|---|---|---|
18.0 | Да | Да | Да | Да | Да | Да | Да | Да | |||
17.9 | Да | Да | Да | Да | Да | Да | Да | Да | |||
17.8 | Да | Да | Да | Да | Да | Да | |||||
17,7 | Да | Да | Да | Да | Да | Да | |||||
17.6 | Да | Да | Да | Да | Да | Да | |||||
17.5 | Да | Да | Да | Да | Да | Да | |||||
17.4 | Да | Да | Да | Да | Да | Да | Да | Да | |||
17.3 | Да | Да | Да | Да | Да | Да | Да | Да | |||
17.2 | Да | Да | Да | Да | Да | Да | Да | ||||
17.1 | Да | Да | Да | Да | Да | Да | Да | ||||
17,0 | Да | Да | Да | Да | Да | Да | Да | ||||
Версия 13.1 | Да | Да | Да | Да | Да | Да | Да | ||||
13 | Да | Да | Да | Да | |||||||
11 | Да | Да | Да | Да |
Установка Microsoft ODBC Driver for SQL Server
Драйвер устанавливается при запуске msodbcsql.msi из одной из загрузок для Windows.
Для тех, кто установил драйвер 17.1.0.1 или ниже, рекомендуется удалить его вручную перед установкой новой версии драйвера.
Параллельно с Native Client
Драйвер можно установить параллельно с SQL Server Native Client. Основные версии драйвера (11, 13, 17, 18) могут быть установлены параллельно друг с другом.
При инициировании msodbcsql.msi по умолчанию устанавливаются только клиентские компоненты. Этими компонентами служат файлы, поддерживающие работу приложения, разработанного с помощью драйвера. Чтобы установить компоненты пакета SDK, укажите в командной строке ADDLOCAL=ALL . Ниже приведен пример.
Лицензия пользователя
Укажите IACCEPTMSODBCSQLLICENSETERMS=YES , чтобы принять условия лицензионного соглашения, если для установки используется параметр /passive , /qn , /qb или /qr . Этот параметр указывается только прописными буквами. Ниже приведен пример.
Удаление без взаимодействия с пользователем
В следующем примере показано выполнение удаления без взаимодействия с пользователем.
Указание зависимость
Если приложение использует драйвер, оно должно указывать, что зависит от драйвера, с помощью параметра установки APPGUID . Это позволяет установщику драйвера вывести сведения о зависимых приложениях перед удалением. Чтобы задать зависимость от драйвера, присвойте параметру командной строки APPGUID код продукта при автоматической установке драйвера. Код продукта необходимо создать при использовании установщика (Майкрософт) для формирования пакета установки приложения. Ниже приведен пример.
Программы командной строки: sqlcmd.exe и bcp.exe
Программы командной строки bcp.exe и sqlcmd.exe , которые используются с драйвером, можно загрузить по адресу Microsoft Command Line Utilities 11 для SQL Server, Microsoft Command Line Utilities 13 для SQL Server или Microsoft Command Line Utilities 13.1 для SQL Server. Драйвер является необходимым условием для установки sqlcmd.exe и bcp.exe .
bcp.exe и sqlcmd.exe устанавливаются во вложенную папку 110\Tools в %PROGRAMFILES%\Microsoft SQL Server\Client SDK\ODBC для версии 11, и 130\Tools для 13 и 13.1.
Приложение, использующее функции BCP, должно указывать драйвер из той же версии, которая поставлялась с файлом заголовка и библиотекой, применявшимися при компиляции приложения.
Например, при компиляции приложения ODBC с помощью msodbcsql11.lib и msodbcsql.h используйте "DRIVER=" в строке подключения.
Компоненты Microsoft ODBC Driver for SQL Server в Windows
Драйвер ODBC для Windows состоит из следующих компонентов:
Примечание. Нельзя сочетать в одной программе ссылки на msodbcsql.h и odbcss.h.
Примечание. Если вы включаете в программу ссылку на этот файл библиотеки, убедитесь, что этот файл находится в вашем системном пути, а также в системном пути других пользователей, которые используют это приложение.
На сервере с операционной системой Windows Server 2016 потребовалось установить Oracle Instant Client 12.2 с драйвером ODBC.
Ничего сложного в установке нет, но почему-то не всегда это получается сделать с первого раза.
Установка Oracle Instant Client 12.2
Внимательно читаем инструкцию:
Скачиваем пакет instantclient-basic-windows.x64-12.2.0.1.0.zip. Распаковываем. Внутри находится папка instantclient_12_2. Копируем её на диск C:\ в папку oracle так, чтобы получился путь:
Для работы пакета 12.2 требуется Microsoft Visual Studio 2013 Redistributable. Скачиваем и устанавливаем.
В переменную PATH добавляем путь C:\oracle\instantclient_12_2. Для этого в свойствах компьютера нажимаем Environment Variables.
В нижней секции System variables находим переменную Path и редактируем, Edit.
Добавляем путь C:\oracle\instantclient_12_2 и кнопкой Move Up перемещаем его вверх.
Проверим что получилось. В командной строке под администратором выполняем команду:
В пути долен присутствовать элемент "C:\oracle\instantclient_12_2;".
Если нам нужно использовать собственные конфигурационные файлы: tnsnames.ora, sqlnet.ora, ldap.ora, или oraaccess.xml; то создаём директорию:
и копируем эти файлы в неё. Если необходимо использовать конфигурационные файлы в другой директории, то укажите путь к ней в серверной переменной TNS_ADMIN.
Установка ODBC
Там же где скачивали Oracle Instant Client 12.2, находим для той же версии пакет ODBC instantclient-odbc-windows.x64-12.2.0.1.0-2.zip. Скачиваем, распаковываем.
Содержимое копируем в C:\oracle\instantclient_12_2.
ODBC устанавливается путём запуска файла odbc_install.exe.
Для удобства запускаем его из командной строки под администратором.
Oracle ODBC Driver is installed successfully.
При запуске можно увидеть ошибку:
Oracle ODBC driver with same name already exists
В этом случае добавляем пользователя под которым работаем в группу локальных администраторов и бэкап-операторов. После чего снова запускаем командную строку под администратором и устанавливаем ODBC. Недостаточно просто быть в доменной группе, которая добавлена в локальные администраторы. Пользователь должен явно числиться локальным админом.
В данный статье будет рассмотрен процесс по установке драйвера MySQL Connector ODBC для операционных систем на платформе Windows.
Этот драйвер используется для взаимодействия с СУБД MySQL через программный интерфейс доступа к базам данных (ODBC). При использовании ODBC взаимодействие с любой базой данных становится простым, так как используется стандартный интерфейс для взаимодействия с различными СУБД. То есть для каждой СУБД уже не придется писать отдельный код по взаимодействию с конкретной СУБД.
В данный статье рассмотрена установка 32-битной версии драйвера MySQL Connector ODBC 5.1.6, так как является универсальной как для работы в 32-разрядной среде, так и в 64-разрядной программной среде. На всякий случай данная версия приложена в конце статьи, которую можно скачать.
Теперь начнем поэтапную настройку.
Шаг 1. Сразу после запуска инсталлятора запустится приветственное окно установщика MySQL Connector ODBC 5.1.6. Здесь ничего делать не нужно, нажимаем "Next" и переходим к следующему шагу.
Примечание: в других версиях вместо выбора типа установки может сначала следовать окно с лицензионным соглашением и только потом выбор типа установки.
Шаг 2. На данном этапе установки необходимо выбрать тип установки. Typical - обычный вариант установки, в данном случае установится общие характеристики программы. Complete - комплексная установка, то есть будут установлены все компоненты. Выбираем вариант Complete, жмем "Next" и переходим к шагу 3.
Шаг 3. На данном этапе ничего делать не нужно, так как здесь показывается сводная информация по выбранному типу, так что жмем "Install" и на этом процесс установки завершен. В следующем окне остается нажать только "Finish".
На этом статья об установке закончена. В следующей статье будет рассматриваться как настроить данный драйвер для использования.
Несколько дней назад встал вопрос о написании консольного приложения, которое будет работать в 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.
Запускаем программу, все должно работать.
Заключение
Хотелось бы услышать комментарии по поводу альтернативных решений данного вопроса. С удовольствием дополню/исправлю этот пост.
Читайте также: