cygwin ウィンドウから SQL Server に接続するとタイムアウトになりますが、DOS プロンプトからは機能します
-
02-07-2019 - |
質問
DOS コマンド ウィンドウから sqlcmd を介して SQL Server データベースに接続できますが、Cygwin ウィンドウからは接続できません。DOS から:
F:\Cygnus>sqlcmd -Q "select 'a test'" -S .\SQLEXPRESS
テスト
(1 行が影響を受けます)
F:\Cygnus>
====================================================
Cygwin から:
$ sqlcmd -Q "select 'a test'" -S .\SQLEXPRESS
HResult 0x35、レベル 16、状態 1
名前付きパイププロバイダー:SQL Server [53]への接続を開くことができませんでした。SQLcmd:エラー:Microsoft SQLネイティブクライアント:サーバーへの接続を確立する際にエラーが発生しました。SQL Server 2005に接続する場合、この障害は、デフォルト設定の下でSQL Serverがリモート接続を許可しないという事実によって引き起こされる可能性があります。SQLcmd:エラー:Microsoft SQLネイティブクライアント:ログインタイムアウトが経過しました。
解決
バックスラッシュが cygwin の bash シェルに食われています。2倍にしてみてください:
sqlcmd -Q "select 'a test'" -S .\\SQLEXPRESS
他のヒント
このためにリモート接続を許可し、完全なサーバー名 (SERVER\SQLEXPRESS) を指定する必要がある場合があります。
「-Q」スイッチを使用すると、クエリ/命令を db に渡し、シェルで出力を受け取ることもできます。
sqlcmd -Q "select * from nice.dbo.TableName ac ORDER BY 1 DESC" -S server_name\\db_name
所属していません StackOverflow