MSSQL: различия между версиями

Материал из ALT Linux Wiki
Строка 71: Строка 71:
  epm install --repack msodbcsql17-*-1.x86_64.rpm
  epm install --repack msodbcsql17-*-1.x86_64.rpm


4. Прописать как драйвер ODBC:
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 -i -d -f /opt/microsoft/msodbcsql17/etc/odbcinst.ini &>/dev/null


Строка 79: Строка 84:
[MySQL]
[MySQL]
[ODBC Driver 17 for SQL Server]</source>
[ODBC Driver 17 for SQL Server]</source>
6. Конфигурируем источник. Для этого создаём файл {{path|/etc/odbc.ini}} (или добавляем в него секцию):
<source lang="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</source>
Проверка источника:
{|class="standard"
!Значение
!Описание
|-
|{{term|MSSQLServer}}||Имя секции источника, прописанного в {{path|/etc/odbc.ini}}
|-
|{{term|sa}}||Имя пользователя
|-
|{{term|Pa$$word}}||Пароль пользователя
|}
<source lang="text" highlight="1"># echo 'SELECT name FROM sys.databases' | isql MSSQLServer sa 'Pa$$word' -b
+---------------------------------------------------------------------------------------------------------------------------------+
| name                                                                                                                            |
+---------------------------------------------------------------------------------------------------------------------------------+
| master                                                                                                                          |
| tempdb                                                                                                                          |
| model                                                                                                                          |
| msdb                                                                                                                            |
| test                                                                                                                            |
+---------------------------------------------------------------------------------------------------------------------------------+
SQLRowCount returns 0
5 rows fetched</source>




{{Category navigation|title=ПО уровня предприятия|category=Enterprise Software|sortkey={{SUBPAGENAME}}}}
{{Category navigation|title=ПО уровня предприятия|category=Enterprise Software|sortkey={{SUBPAGENAME}}}}
[[Категория:Admin]]
[[Категория:Admin]]

Версия от 07:29, 31 октября 2018

Установка Microsoft SQL server 2017 на ALT Linux

Здесь можно скачать rpm-пакет наподобие mssql-server-14.0.800.90-2.x86_64.rpm, пригодный для тестирования в тестовый период.

Просто установить его невозможно, потому что пакет имеет зависимости от другой системы. Обратите внимание, что лицензия запрещает распространение перепакованного пакета.

С помощью

epm install --repack mssql-server-14.0.800.90-2.x86_64.rpm

можно установить пакет: он будет перепакован в rpm для целевой системы и установлен.

После установки пакета выполните для настройки сервера

# /opt/mssql/bin/mssql-conf setup

Установка сервера 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. После установки пакета выполните для настройки сервера

/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