невозможно подключить MSSQL Linux через драйвер unixODBC с ошибкой SSL 0x140A90A1 - PullRequest
0 голосов
/ 10 мая 2019

MSSQL 2017 установить на один компьютер SUSE12 SP2, затем установить драйвер unixODBC на компьютер приложения, попробуйте разрешить приложению общаться с MSSQL 2017 под SUSE Linux, но ODBC api сообщает об ошибке во время подключения.вот пока я установил msodbcsql17

#  sudo zypper install msodbcsql17 
check configure

# odbcinst -j
unixODBC 2.3.7
DRIVERS............: /etc/unixODBC/odbcinst.ini

SYSTEM DATA SOURCES: /etc/unixODBC/odbc.ini

FILE DATA SOURCES..: /etc/unixODBC/ODBCDataSources

USER DATA SOURCES..: /users/nvh1wa/.odbc.ini

SQLULEN Size.......: 8

SQLLEN Size........: 8

SQLSETPOSIROW Size.: 8

проверьте odbcinst.ini

#cat /etc/unixODBC/odbcinst.ini
`[ODBC Driver 17 for SQL Server]

Description=Microsoft ODBC Driver 17 for SQL Server

Driver=/opt/microsoft/msodbcsql17/lib64/libmsodbcsql-17.3.so.1.1

UsageCount=1`

проверьте odbc.ini и odbc.ini пусто

вот наш коддля подключения к серверу MSSQL

`if(!SQL_SUCCEEDED(SQLDriverConnect(handle, NULL, (SQLTCHAR*) 
connect_string.c_str(), SQL_NTS, ConnStrOut, 1024, &cbConnStrOut, 
SQL_DRIVER_NOPROMPT)))){ report error here;}`

, который сообщает о сбое.

вот ошибка из системного журнала:

ODBC error. SQLSTATE: 08001 Native error: -1 Message: [Microsoft][ODBC Driver 17 for SQL Server]SSL Provider: [error:140A90A1:SSL routines:func(169):reason(161)] Approx SQL was "CONNECT"

выглядит наша строка connect_stringthis "DRIVER=ODBC Driver 17 for SQL Server;DATABASE=master;SERVER=127.0.0.28;UID=testing;PWD=testing"

Из сообщения об ошибке драйвер ODBC сообщает об ошибке SSL?но мой MSSQL-сервер никогда не включал SSL.и мой sqlcmd может без проблем подключиться к моему MSSQL.

Сделал дальнейшие исследования и обнаружил ошибку SSL из драйвера MSSQL odbc.вот что я нашел, проверив ошибку SSL

/usr/bin/openssl errstr 0x140A90A1 error:140A90A1:SSL routines:SSL_CTX_new:library has no ciphers

...