MSSQL: различия между версиями
Нет описания правки |
|||
Строка 126: | Строка 126: | ||
5 rows fetched</source> | 5 rows fetched</source> | ||
{{Attention| | {{Attention|Не тестируйте подключение при входе по паролю к базе данных в мастере создания базы данных LibreOffice Base. Это приводит к зависанию LibeOffice Base.}} | ||
= Драйвер JDBC к MSSQL = | = Драйвер JDBC к MSSQL = |
Версия от 13:24, 31 октября 2018
Установка сервера MSSQL на Альт Сервер 8
1. Скачайте демо-версию с https://packages.microsoft.com/sles/12/mssql-server-preview/ (пакет mssql-server-15.0.1000.34-2.x86_64.rpm)
2. Установите необходимые зависимости:
apt-get install eepm cyrus-sasl2 libsasl2-plugin-gssapi libsss_nss_idmap
3. Пересоберите под Альт:
epm repack mssql-server-15.0.1000.34-2.x86_64.rpm
4. Установите через rpm:
rpm -Uvh mssql-server-15.0.1000.34-alt1.repacked.with.epm.3.x86_64.rpm --nodeps --noscripts
5. Пропишите автоматический запуск службы и запустите её
systemctl enable mysql-server systemctl start mysql-server
6. После установки пакета выполните для настройки сервера
/opt/mssql/bin/mssql-conf setup
Установка клиента
1. Установите пакет unixODBC и eepm:
apt-get install eepm unixODBC
2. Скачайте и перепакуйте из каталога https://packages.microsoft.com/rhel/7/prod/ пакеты msodbcsql17-17.2.0.1-1.x86_64.rpm и mssql-tools-17.2.0.2-1.x86_64.rpm
epm repack msodbcsql17-17.2.0.1-1.x86_64.rpm epm repack mssql-tools-17.2.0.2-1.x86_64.rpm
3. Установите через rpm:
rpm -Uvh msodbcsql17-17.2.0.1-alt1.repacked.with.epm.2.x86_64.rpm mssql-tools-17.2.0.2-alt1.repacked.with.epm.2.x86_64.rpm --nodeps
Работа с базой данных
В примере используется подстановка: sa — суперпользователь, Pa$$word — пароль администратора, который указали при mssql-conf setup
Создание базы данных:
/opt/mssql-tools/bin/sqlcmd -S localhost -U sa -P'Pa$$word' -Q 'create database test'
Просмотр доступных баз данных:
/opt/mssql-tools/bin/sqlcmd -S localhost -U sa -P'Pa$$word' -Q 'sp_databases'
Драйвер ODBC к MSSQL
1. Установить необходимое программное обеспечение для установки и работы:
apt-get install eepm wget unixODBC
2. Скачать последнюю сборку msodbcsql17 для SUSE:
wget "$(lftp -e 'ls;quit' https://packages.microsoft.com/sles/12/prod/ | awk '/msodbcsql17/ {a=$5} END {print "https://packages.microsoft.com/sles/12/prod/" a}')"
3. Установить с переупаковкой:
epm install --repack msodbcsql17-*-1.x86_64.rpm
4. Прописать символические ссылки на libssl и libcrypto:
ln -s libssl.so.10 /lib64/libssl.so.1.0.0 ln -s libcrypto.so.10 /lib64/libcrypto.so.1.0.0 ldconfig
5. Прописать как драйвер ODBC:
odbcinst -i -d -f /opt/microsoft/msodbcsql17/etc/odbcinst.ini &>/dev/null
Проверка установки:
# odbcinst -q -d
[PostgreSQL]
[MySQL]
[ODBC Driver 17 for SQL Server]
6. Конфигурируем источник. Для этого создаём файл /etc/odbc.ini (или добавляем в него секцию):
[MSSQLServer]
Driver = ODBC Driver 17 for SQL Server
Description = Test database on MSSQL Server on Linux
Trace = No
Server = 10.4.4.26
Port = 1433
TDS version = 0.95
Database = test
Проверка источника:
Значение | Описание |
---|---|
MSSQLServer | Имя секции источника, прописанного в /etc/odbc.ini |
sa | Имя пользователя |
Pa$$word | Пароль пользователя |
# echo 'SELECT name FROM sys.databases' | isql MSSQLServer sa 'Pa$$word' -b
+---------------------------------------------------------------------------------------------------------------------------------+
| name |
+---------------------------------------------------------------------------------------------------------------------------------+
| master |
| tempdb |
| model |
| msdb |
| test |
+---------------------------------------------------------------------------------------------------------------------------------+
SQLRowCount returns 0
5 rows fetched
Драйвер JDBC к MSSQL
1. Загрузите драйвер JDBC с сайта Microsoft по ссылке: https://www.microsoft.com/ru-RU/download/details.aspx?id=57175
Выбирайте загрузку sqljdbc_7.0.0.0_rus.tar.gz
2. Распакуйте файл jar из загруженного архива:
tar xf sqljdbc_7.0.0.0_rus.tar.gz sqljdbc_7.0/rus/mssql-jdbc-7.0.0.jre8.jar cp sqljdbc_7.0/rus/mssql-jdbc-7.0.0.jre8.jar /usr/share/java
3. Откройте LibreOffice Writer и добавьте класс /usr/share/java/mssql-jdbc-7.0.0.jre8.jar, как описано в статье Microsoft Access. Перезапустите LibreOffice.
4. Запустите LibreOffice Base, выберите подключение к базе данных через JDBC и заполните поля источника и драйвера:
- URL источника данных (подключаемся к серверу 10.4.4.26, порт стандартный, база данных test)
sqlserver://10.4.4.26:1433;database=test
- Класс драйвера JDBC
com.microsoft.sqlserver.jdbc.SQLServerDriver
5. Укажите имя пользователя и то, что требуется пароль для подключения.
6. Сохраните базу данных LibreOffice Base в виде файла и можете работать на сервере MSSQL: