Подключение к SQL Server из окна cygwin истекает, из приглашения DOS работает
-
02-07-2019 - |
Вопрос
Я могу подключиться к базе данных SQL Server через sqlcmd из командного окна DOS, но не из окна Cygwin.Из ДОС:
F:\Cygnus>sqlcmd -Q "select 'a test'" -S .\SQLEXPRESS
тест
(затронуто 1 строка)
F:\Cygnus>
====================================================
От Сигвина:
$ sqlcmd -Q "select 'a test'" -S .\SQLEXPRESS
HResult 0x35, уровень 16, состояние 1
Поставщик именованных каналов:Не удалось открыть соединение с SQL Server [53].Sqlcmd:Ошибка:Microsoft SQL Native Client:Произошла ошибка при установлении соединения с сервером.При подключении к SQL Server 2005 этот сбой может быть вызван тем фактом, что в соответствии с настройками по умолчанию SQL Server не разрешает удаленные соединения.Sqlcmd:Ошибка:Microsoft SQL Native Client:Время ожидания входа истекло.
Решение
Обратная косая черта поглощается оболочкой bash Cygwin.Попробуйте удвоить его:
sqlcmd -Q "select 'a test'" -S .\\SQLEXPRESS
Другие советы
Возможно, вам придется разрешить для этого удаленные подключения и указать полное имя сервера, т.е. SERVER\SQLEXPRESS.
Вы также можете передать запрос/инструкцию в базу данных и получить вывод в оболочке, если используете переключатель «-Q»:
sqlcmd -Q "select * from nice.dbo.TableName ac ORDER BY 1 DESC" -S server_name\\db_name