2009-12-16 3 views
0

Je commence tout juste avec sqlcmd sur SQL Server 2005, édition entreprise.Obtention d'une erreur de connectivité lors de l'utilisation: commande connect dans sqlcmd, mais pas lors de la connexion à la ligne de commande

Je peux me connecter à mon beau serveur, à partir de la ligne de commande:

sqlcmd -SSQLSERVERNAME -Q "select test = 1"

Cependant, lorsque je crée un fichier junk.sql qui a juste ce une ligne:

: connecter -SSQLSERVERNAME

... et essayer de l'exécuter en exécutant la commande suivante à la ligne de commande:

sqlcmd -i C : \ Indésirable \ junk.sql

... Je ne peux même pas se connecter - je reçois cette erreur:

Fournisseur de canaux nommés: Impossible d'ouvrir une connexion à SQL Server [2]. Sqlcmd: Erreur: Microsoft SQL Native Client: une erreur s'est produite lors de l'établissement d'une connexion au serveur. Lorsque c en connectant à SQL Server 2005, cet échec peut être provoqué par le fait que sous les paramètres par défaut SQL Server ne permet pas permettre des connexions à distance .. Sqlcmd: Erreur: Microsoft SQL Native Client: délai de connexion expiré. D'après ce que j'ai lu, j'ai pensé que l'utilisation de la commande connect devrait fonctionner. Est-ce que je l'utilise incorrectement? Qu'est-ce que je voudrais faire est de se connecter dans le fichier sql en utilisant la commande connect (éventuellement en utilisant des variables pour différents serveurs), puis exécutez différents fichiers SQL en utilisant la commande: r

Réflexions?

merci, Sylvia

Répondre

1

La commande :connect n'a pas besoin de l'interrupteur S, il suffit d'utiliser

:connect "SQLSERVERNAME" 
+0

+1: Bonne prise! – RBarryYoung

0

Ok - je faisais 2 choses mal:

** Il semble que Lorsque vous exécutez sqlcmd, vous devez vous connecter à quelque chose dès le début. Je pensais que je pouvais le faire:

sqlcmd -i C: \ indésirable \ junk.sql

mais je devais le faire

sqlcmd -i -SServerName C: \ indésirable \ junk.sql

Je n'avais pas d'instance par défaut locale en cours d'exécution - probablement si une instance par défaut locale est en cours d'exécution, il n'y a pas de problème.

** Ensuite, dans le junk.sql, vous pouvez effectuer les opérations suivantes

: connecter ServerName

Notez qu'il est pas

: connecter -SServerName

Hope this helps!

Questions connexes