соединение mssql через odic

у меня есть проблема, соединяющая mssql базу данных через odbc в ubuntu 16.04 LTS. Я установил Unix odbc и драйвер мидии.

драйвер mssql объявляется в odbcinst.ini:

statadmin@dsc-stat кошка $:~ /etc/odbcinst.ini [Драйвер 13 ODBC для SQL Server] Description=Microsoft Драйвер 13 ODBC для Драйвера SQL Server =/opt/microsoft/msodbcsql/lib64/libmsodbcsql-13.0.so.1.0 UsageCount=1

Мой DSN под названием DW16 находится в odbc.ini:

statadmin@dsc-stat кошка $:~ /etc/odbc.ini [DW16] Driver=ODBC Драйвер 13 для Servername=10.0.0.52 Port=1433 SQL Server

прямая связь (без DSN) на работах базы данных:

statadmin@dsc-stat пароль sqlcmd-S dsc-bdd1.dscptl.loc-U statsql $:~: 1> выберите лучшие 5 libdef из defaut 2>; 3> ПОЙДИТЕ

libdef

ДЕФЕКТНЫЕ БУМАГИ DEFAUT PONCTUEL SUREPAISSEUR PLIS TISSAGE FIL TIRANT FIL (5 затронутых строк)

Но с помощью DSN, я получаю ошибку:

statadmin@dsc-stat пароль sqlcmd-D-S DW16-U statsql $:~: Sqlcmd: Ошибка: Microsoft ODBC Driver 13 для SQL Server: тайм-аут Входа в систему истек. Sqlcmd: Ошибка: Microsoft ODBC Driver 13 для SQL Server: Поставщик TCP: Код ошибки 0x2AFA. Sqlcmd: Ошибка: Microsoft ODBC Driver 13 для SQL Server: связанная с сетью или определенная для экземпляра ошибка произошла при установлении соединения с SQL Server. Сервер не найден или не доступным. Проверьте, корректно ли имя экземпляра и если SQL Server настроен для разрешения удаленных соединений. Для получения дополнительной информации посмотрите SQL Server Books Online..

Я предполагаю, что брандмауэр, tcp проблемы аутентификации носильщика не здесь, поскольку прямая связь работает. Я попробовал IP-адресом, а также именем сервера без различия.

надеюсь, что у кого-то здесь будет хорошая идея помочь мне.

Thomas

-1
задан 12 March 2017 в 11:18

1 ответ

Наконец получил ответ, я не знаю, где мой коллега нашел ответ, но здесь что он отправляет мне:

Драйвер [MSSQLTest] = Драйвер 11 ODBC для Сервера SQL Server = [протокол:] сервер [порт]

Примечание:

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

~/.odbc.ini для драйвера Microsoft ODBC на Linux

, который можно дополнительно указать протокол и порт для соединения с сервером.

, Например, Сервер = tcp:servername, 12345.

Для соединения с именованным экземпляром на статическом порте используйте Сервер = имя сервера, port_number. Соединение с динамическим портом не поддерживается.

мой odbc.ini, должен быть:

[DW16] 
Driver=ODBC Driver 13 for SQL Server 
Server=TCP:dsc-bdd1.dscptl.loc,1433

Это работает также с IP-адресом. Надежда это может помочь кому-то еще.

Thomas

0
ответ дан 3 November 2019 в 15:29

Другие вопросы по тегам:

Похожие вопросы: