1

Я пытаюсь установить драйвер ODBC для SQL Server для Linux в Linux Подсистема для Windows Кто-нибудь знает, поддерживается ли этот сценарий.

Похоже, что в Ubuntu Trusty отсутствует зависимость от библиотеки, которая требуется для этого драйвера.

Кто-нибудь успешно получил этот драйвер для установки и запуска на lxss?

*** Более подробно я следовал инструкциям по установке драйвера здесь: https://msdn.microsoft.com/en-us/library/hh568454(v=sql.110).aspx

Запуск ./install.sh проверить отчеты Запуск установки для Microsoft ODBC Driver 13 для 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.1 installed
> ............................. OK unixODBC Driver Manager configuration
> correct .............................. OK* Microsoft ODBC Driver 13
> for SQL Server already installed ............ INSTALLED

Попытка запустить bcp вызывает

bcp: ошибка при загрузке общих библиотек: libodbc.so.2: невозможно открыть общий объектный файл: нет такого файла или каталога

Проверка на наличие libodbc.so.2 в /etc /lib - такого каталога нет. Похоже, это часть unixODBC. Но sudo apt-get unixODBC дает мне "Библиотека уже установлена".

Я подозреваю, что обновление до Ubuntu 16.0.4 исправит это, но я не знаю, смогу ли я сделать это в lxss.

odbcinst -j
unixODBC 2.3.1
DRIVERS............: /etc/odbcinst.ini
SYSTEM DATA SOURCES: /etc/odbc.ini
FILE DATA SOURCES..: /etc/ODBCDataSources
USER DATA SOURCES..: /home/kieran/.odbc.ini
SQLULEN Size.......: 8
SQLLEN Size........: 8
SQLSETPOSIROW Size.: 8

cat /etc/odbcinst.ini
[FreeTDS]
Description=TDS driver (Sybase/MS SQL)
Driver=libtdsodbc.so
Setup=libtdsS.so
CPTimeout=
CPReuse=

[ODBC Driver 13 for SQL Server]
Description=Microsoft ODBC Driver 13 for SQL Server
Driver=/opt/microsoft/msodbcsql/lib64/libmsodbcsql-13.0.so.0.0
Threading=1
UsageCount=1

1 ответ1

2

Я нашел проблему.

Мне нужно было добавить /etc /lib64 в /etc/ld.so.conf

Затем запустите ldconfig -v, чтобы перестроить кеш библиотеки.

Затем мне пришлось обновить библиотеку C++, выполнив команду sudo apt-get install libstdc++ 6.

Тогда это сработало.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .