La connexion à SQL Server à partir de la fenêtre cygwin a expiré, à partir de l'invite DOS fonctionne
-
02-07-2019 - |
Question
Je peux me connecter à ma base de données SQL Server via sqlcmd à partir d'une fenêtre de commande DOS, mais pas à partir d'une fenêtre Cygwin. Sous DOS:
F:\Cygnus>sqlcmd -Q "select 'a test'" -S .\SQLEXPRESS
un test
(1 lignes affectées)
F:\Cygnus>
============================================ =====
De Cygwin:
$ sqlcmd -Q "select 'a test'" -S .\SQLEXPRESS
HResult 0x35, niveau 16, état 1 - Fournisseur de canaux nommés: impossible ouvrir une connexion à SQL Server [53]. Sqlcmd: Erreur: Microsoft SQL Client natif: une erreur s'est produite lors de l'établissement d'une connexion au serveur. Lors de la connexion à SQL Server 2005, cette défaillance peut être causée par le fait que, dans les paramètres par défaut, SQL Server ne autoriser les connexions distantes .. Sqlcmd: erreur: client natif Microsoft SQL : Le délai de connexion a expiré.
La solution
La barre oblique inverse est mangée par le shell bash de cygwin. Essayez de le doubler:
sqlcmd -Q "select 'a test'" -S .\\SQLEXPRESS
Autres conseils
Vous devrez peut-être autoriser les connexions à distance pour cela et attribuer le nom complet du serveur, i.e SERVER \ SQLEXPRESS
.Vous pouvez également transmettre requête / instruction à la base de données et recevoir la sortie dans un shell si vous utilisez " -Q " commutateur:
sqlcmd -Q "select * from nice.dbo.TableName ac ORDER BY 1 DESC" -S server_name\\db_name