Microsoft odbc driver for sql server как установить
Для корректного подключения к базам данных Microsoft SQL Server необходима установка драйверов ODBC. В данной статье приведены инструкции по настройки данных драйверов.
Предварительно необходимо установить программы gcc и make:
На Debian-подобных дисрибутивах:
sudo apt-get install tar gcc make g++
На RedHat-подобных дистрибутивах:
sudo yum install tar gcc make
Процесс установки диспетчера драйверов описан в статье «Installing the Driver Manager».
Примечание . Не рекомендуется использовать флаг SQL_WCHART_CONVERT при сборке unixODBC.
Настройка сборки и установка драйвера диспетчера
После распаковки архива с драйвером и перед установкой, прежде всего необходимо внести изменения в файлы «build_dm.sh» и «install.sh»:
В файле «build_dm.sh» . Задайте значение req_proc="unknown" (только для Astra Linux и Debian).
В файле «install.sh» . Задайте значение req_proc="unknown" (только для Astra Linux и Debian).
Если установка происходит на Debian-подобный дистрибутив (Ubuntu, Astra Linux и т.п.), то в файле «install.sh» замените строку:
req_libs=( glibc e2fsprogs krb5-libs openssl )
req_libs=( libc6 e2fsprogs libkrb5-3 openssl )
Затем внесите изменения в функцию «check_required_libs». Данная функция должна выглядеть следующим образом:
log "Checking that required libraries are installed"
local present=$(dpkg-query -l "$lib" | grep "$lib" 2>/dev/null)
В файле «build_dm.sh» замените -xvzf на -xvf .
Скачайте установочный файл ODBC unixODBC-2.3.0.tar.gz.
Установка ODBC
bash build_dm.sh --download-url=file://unixODBC-2.3.0.tar.gz
>>Run the command 'cd /tmp/unixODBC<временная метка>/unixODBC-2.3.0; make install' to install the driver manager.
cd /tmp/unixODBC<временная метка>/unixODBC-2.3.0
sudo make install
cd -
Если команды выполняются через пользователя sudo, то для перехода в директорию необходимо сменить пользователя на root с помощью команды:
Далее перейти в папку и выполнить команду:
cd /tmp/unixODBC<временная метка>/unixODBC-2.3.0
После этого выйти из-под пользователя root сочетанием клавиш «CTRL+D».
Примечание . Команда «sudo make install» может быть заменена на «sudo checkinstall», если программа checkinstall установлена в ОС.
После этого необходимо сохранить изменения. Проверьте возможность установки драйвера в системе выполнив команду:
bash install.sh verify
Starting install for Microsoft ODBC Driver 11 for SQL Server
Checking for 64 bit Linux compatible OS . OK
Checking required libs are installed . OK
unixODBC utilities (odbc_config and odbcinst) installed . OK
unixODBC Driver Manager version 2.3.0 installed . OK
unixODBC Driver Manager configuration correct . OK*
Microsoft ODBC Driver 11 for SQL Server already installed . NOT FOUND
See /tmp/msodbcsql.30762.3652.5941/install.log for more information about installation failures.
Для дальнейшей установки необходимо устранить все ошибки. После их устранения можно выполнить команду для установки драйвера:
bash install.sh install --accept-license
Создание символьной ссылки для платформы
Для создания символьной ссылки для платформы выполните команды:
cd /opt/ Foresight /fp9.x-biserver/bin
sudo ln -s
/opt/microsoft/msodbcsql/lib64/libmsodbcsql-11.0.so.2270.0 libmsodbcsql-11.0.so
Примечание . Расположение библиотек может отличаться от указанного в команде.
Разделяемые библиотеки
Перед началом работы с драйвером нужно убедиться в отсутствии проблем с разделяемыми библиотеками. Для этого выполните команду:
ldd /opt/microsoft/msodbcsql/lib64/libmsodbcsql-11.0.so.2270.0 | grep not
Примечание . Расположение библиотек может отличаться от указанного в команде.
В случае присутствия всех необходимых библиотек можно переходить к регистрации драйвера.
Если в результате выполнения команды получился список, например:
libcrypto.so.10 => not found
libssl.so.10 => not found
То необходимо выполнить следующие действия:
sudo apt-get install libssl-dev
sudo ln -s libcrypto.so.1.0.0 libcrypto.so.10
sudo ln -s libssl.so.1.0.0 libssl.so.10
Для Ubuntu символьные ссылки будут другие:
cd /usr/lib/x86_64-linux-gnu
sudo apt-get install libssl-dev
sudo ln -s /lib/x86_64-linux-gnu/libcrypto.so.1.0.0 libcrypto.so.10
sudo ln -s /lib/x86_64-linux-gnu/libssl.so.1.0.0 libssl.so.10
После это ещё раз проверьте все зависимости драйвера и в случае отсутствия проблем переходить к регистрации.
После выполнения установки ODBC запись о драйвере будет добавлена в файл «odbcinst.ini». При необходимости регистрацию драйвера можно осуществить вручную.
Для регистрация драйвера выполните команду:
odbcinst -i -d -f mssql.driver.template
где файл mssql.driver.template содержит необходимые для работы драйвера параметры. Например:
[ODBC Driver 11 for SQL Server]
Для проверки правильности установки драйвера можно выполнить следующую команду:
odbcinst -q -d -n "ODBC Driver 11 for SQL Server"
Результатом правильной установки будет служить вывод всех параметров драйвера с их значениями.
Проверка подключения
Перед непосредственной работой с драйвером необходимо протестировать настройки подключения. Сперва можно использовать подключение с применением telnet:
telnet 192.168.1.1 1433
telnet: Unable to connect to remote host: Connection refused
Для устранения ошибок на данном этапе обратитесь к системному администратору.
Connected to 192.168.1.1.
Следующим шагом является проверка соединения с сервером с использованием параметров из источника данных. Для это выполните следующую команду:
isql -v <DATA_SOURCE_NAME> <USER>@<HOST> <PASSWORD>
При этом будет возможность выполнить запросы к базе данных.
[ISQL]ERROR: Could not SQLConnect
Для устранения ошибок на данном этапе необходимо обратиться к администратору СУБД.
Несколько дней назад встал вопрос о написании консольного приложения, которое будет работать в 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 приложений. Возможно это тема для еще одной публикации. Я опишу лишь ключевые моменты.
В этой статье объясняется, как установить Microsoft ODBC Driver for SQL Server в Linux. В ней также содержатся инструкции для необязательных средств командной строки для SQL Server ( bcp и sqlcmd ) и заголовков разработки unixODBC.
В этой статье приведены команды для установки драйвера ODBC из оболочки bash. Сведения о том, как загрузить пакеты напрямую, см. в разделе Скачивание драйвера ODBC Driver for SQL Server.
Microsoft ODBC 17
В следующих разделах объясняется, как установить драйвер Microsoft ODBC 17 из оболочки bash в различных дистрибутивах Linux.
Если вы установили пакет msodbcsql версии 17, который был доступен непродолжительное время, его следует удалить перед установкой пакета msodbcsql17 . Это позволит избежать конфликтов. Пакет msodbcsql17 можно установить параллельно с пакетом msodbcsql версии 13.
Alpine Linux
Для поддержки Alpine требуется драйвер версии 17.5 или более поздней.
Debian
Вместо настройки переменной среды ACCEPT_EULA вы можете создать переменную debconf с именем "msodbcsql/ACCEPT_EULA": echo msodbcsql17 msodbcsql/ACCEPT_EULA boolean true | sudo debconf-set-selections
Red Hat Enterprise Server и Oracle Linux
SUSE Linux Enterprise Server
Ubuntu
Вместо настройки переменной среды ACCEPT_EULA вы можете создать переменную debconf с именем "msodbcsql/ACCEPT_EULA": echo msodbcsql17 msodbcsql/ACCEPT_EULA boolean true | sudo debconf-set-selections
Предыдущие версии
В следующих разделах приведены инструкции по установке предыдущих версий драйвера Microsoft ODBC в Linux. Рассматриваются следующие версии драйверов.
ODBC 13.1
В следующих разделах объясняется, как установить драйвер Microsoft ODBC 13.1 из оболочки bash в различных дистрибутивах Linux.
Debian 8
Red Hat Enterprise Server 6
Red Hat Enterprise Server 7
SUSE Linux Enterprise Server 11
SUSE Linux Enterprise Server 12
Ubuntu 15.10
Ubuntu 16.04
Ubuntu 16.10
ODBC 13
В следующих разделах объясняется, как установить драйвер Microsoft ODBC 13 из оболочки bash в различных дистрибутивах Linux.
Red Hat Enterprise Server 6 (ODBC 13)
Red Hat Enterprise Server 7 (ODBC 13)
Ubuntu 15.10 (ODBC 13)
Ubuntu 16.04 (ODBC 13)
SUSE Linux Enterprise Server 12 (ODBC 13)
Автономная установка
Если необходимо установить драйвер Microsoft ODBC версии 13 на компьютере без подключения к Интернету, потребуется разрешить зависимости пакетов вручную. Драйвер Microsoft ODBC версии 13 имеет следующие прямые зависимости:
- Ubuntu: libc6 (>= 2.21), libstdc++6 (>= 4.9), libkrb5-3, libcurl3, openssl, debconf (>= 0.5), unixodbc (>= 2.3.1-1)
- Red Hat: glibc, e2fsprogs, krb5-libs, openssl, unixODBC
- SUSE: glibc, libuuid1, krb5, openssl, unixODBC
Каждый из этих пакетов, в свою очередь, имеет собственные зависимости, которые могут отсутствовать в системе. Для решения этой проблемы в общем случае следует обратиться к документации по диспетчеру пакетов используемого дистрибутива: Red Hat, Ubuntu и SUSE
Другое распространенное решение — вручную скачать все зависимые пакеты в одну папку на компьютере установки, а затем вручную установить каждый пакет по очереди, завершив пакетом драйвера Microsoft ODBC версии 13.
Red Hat Linux Enterprise Server 7
Ubuntu 16.04 (ODBC 13 в автономном режиме)
SUSE Linux Enterprise Server 12 (ODBC 13 в автономном режиме)
После установки пакета можно проверить, находит ли драйвер Microsoft ODBC версии 13 все нужные зависимости. Для этого выполните команду ldd и проверьте наличие отсутствующих библиотек в выходных данных:
ODBC 11
В следующих разделах объясняется, как установить Microsoft ODBC Driver 11 в Linux. Для использования драйвера сначала установите диспетчер драйверов unixODBC. Дополнительные сведения: Установка диспетчера драйверов.
Процесс установки
Эти инструкции ссылаются на msodbcsql-11.0.2270.0.tar.gz (файл установки для Red Hat Linux). В случае установке предварительной версии для SUSE Linux файл называется msodbcsql-11.0.2260.0.tar.gz .
Порядок установки драйвера
Убедитесь, что у вас есть корневое разрешение.
Перейдите в каталог, куда был скачан файл с именем msodbcsql-11.0.2270.0.tar.gz . Убедитесь в наличии файла *.TAR.GZ, который соответствует вашей версии Linux. Чтобы извлечь файлы, выполните следующую команду: tar xvzf msodbcsql-11.0.2270.0.tar.gz .
Перейдите в каталог msodbcsql-11.0.2270.0 , где должен находиться файл install.sh.
Чтобы просмотреть список доступных параметров установки, выполните следующую команду: ./install.sh.
Перед установкой драйвера выполните следующую команду: ./install.sh verify . Выходные данные команды ./install.sh verify показывают, есть ли на компьютере ПО, необходимое для поддержки драйвера ODBC на Linux.
Когда вы будете готовы установить драйвер ODBC на Linux, выполните команду: ./install.sh install . Если вам нужно будет дополнительно указать команду установки ( bin-dir или lib-dir ), сделайте это после параметра install.
После просмотра лицензионного соглашения введите YES для продолжения установки.
При установке драйвер помещается в папку /opt/microsoft/msodbcsql/11.0.2270.0 . Драйвер и его вспомогательные файлы должны находиться в папке /opt/microsoft/msodbcsql/11.0.2270.0 .
Удаление
Вы можете удалить драйвер ODBC 11 на Linux, выполнив следующие команды:
rm -f /usr/bin/sqlcmd
rm -rf /opt/microsoft/msodbcsql
odbcinst -u -d -n "ODBC Driver 11 for SQL Server"
Файлы драйвера
Драйвер ODBC в Linux состоит из следующих компонентов.
Примечание. В одной программе нельзя ссылаться на msodbcsql.h и odbcss.h одновременно.
Загрузка файла ресурсов
Для работы драйверу необходимо загрузить файл ресурсов. Этот файл имеет имя msodbcsqlr17.rll или msodbcsqlr13.rll в зависимости от версии драйвера. Файл .rll располагается по пути относительно расположения самого драйвера ( so или dylib ), указанного в таблице выше. Кроме того, начиная с версии 17.1 драйвер пытается загрузить файл .rll из каталога по умолчанию, если его не удалось загрузить по относительному пути. Путь к файлу ресурсов по умолчанию в Linux: /opt/microsoft/msodbcsql17/share/resources/en_US/ .
Устранение неполадок
Если не удается установить подключение к SQL Server с помощью драйвера ODBC, см. статью, посвященную известным проблемам при устранении неполадок подключения.
Дальнейшие действия
После установки драйвера можно попробовать пример приложения C++ ODBC. Подробнее о разработке приложений ODBC см. в разделе Разработка приложений.
Дополнительные сведения см. в статьях с заметками о выпуске и требованиями к системе для драйвера ODBC.
MSSQL версия программы Forecast NOW! позволяет работать нескольким пользователям с программой одновременно.
Для установки MSSQL версии сначала необходимо скачать и установить Microsoft SQL Server.
Установка MSSQL сервера
Microsoft SQL Server Express имеет ограничения на размер базы данных.
2. Запустите скачанный файл и выбираем тип установки «Пользовательский»:
3. Нажимаем Установить (если необходимо изменяем путь для скачивания установочных файлов)
4. Ждём окончания процесса скачивая
5. По завершению скачивания откроется новое окно, в нем нажмите Новая установка изолированного экземпляра SQL Server или добавление компонентов к существующей установке
6. Нажимаем Далее
7. Нажимаем Далее
8. Ознакомитесь с лицензионным соглашением, для продолжения примите лицензионное соглашение и нажмите Далее
9. Отметьте галочкой только Службы Ядра СУБД, если необходимо измените путь установки сервера и нажмите Далее
10. Поставьте галочку Экземпляр по умолчанию и нажмите Далее
11. Нажимаем Далее
12. Выберете смешанный режим проверки подлинности, укажите пароль системного администратора и нажмите Далее
13. Microsoft SQL Server установлен
Проверить, работает ли он можно следующим образом:
Проверка, что Microsoft SQL Server работает
1. Зайдите в Просмотр локальных служб (в разных версиях Windows Пункт может называться по разному администрирование/службы)
2. Найдите в списке служб MySQL.
Если в столбце состояние стоит «выполняется», то MySQL сервер запущен, если нет - то нужно Запустить при помощи правой кнопки мыши.
Включение настройки xp_cmdshell
Настройка xp_cmdshell даёт возможность использовать команды консольной утилиты в SQL запросе. Данная настройка требуется для корректного переименования баз через программу (переименования баз используется в процессе обновления баз, включение данной настройки обязательно).
Для того чтобы включить настройку необходимо:
1. Найти в меню пуск командную строку и запустить её.
2. Через командную строку запустить sqlcmd -U <пользователь> -P <пароль> (если установка сервера была сделана по инструкции выше, то имя пользователя указываем sa, а пароль тот, который указывали в пункте 12 Установки MSSQL сервера). Далее построчно вводим команды
Настройка TCP Соединения
1. В меню пуск необходимо найти и открыть Диспетчер конфигурация SQL Server
3. Зайдите в Просмотр локальных служб (в разных версиях Windows Пункт может называться по разному администрирование/службы)
4. Для перезапуска сервера находим SQL Server (MSSQLSERVER) в службах и с помощью команды контестного меню перезапускаем сервер.
Установка драйвера Microsoft ODBC Driver 13 For SQL Server
Для работы программы необходимо наличие установленного драйвера Microsoft ODBC Driver 13 For SQL Server.
Windows
1. Установить или обновить драйвер можно с помощью установичника программы ForecastNOW!. Для этого после завершения установки программы выберете пункт Установить Microsoft ODBC Driver и нажмите завершить
2. Нажмите Далее
3. Ознакомитесь с лицензионным соглашением, для продолжения примите лицензионное соглашение и нажмите Далее
4. Проверьте что компонент Драйвера ODBC включен в установку и нажмите Далее
5. нажмите Установить
6. Драйвер установлен для закрытия окна нажмите Готово
7. Чтобы проверить установлен ли драйвер необходимо набрать в командной строке odbcad32.exe, откроется окно, в котором необходимо открыть вкладку Драйвера. Если драйвер установлен в списке должна присутствовать строка ODBC Driver 13 For SQL Server
Читайте также:
- Для работы данного приложения требуется версия adobe air которую не удается найти
- Положение о сотрудничестве с правоохранительными органами в сфере противодействия коррупции в ворде
- Как сделать титры как в звездных войнах в adobe premiere
- 1с опубликовать дистрибутив тонкого клиента
- Excel ввод только числовых значений