J'apprends actuellement SQL Server et j'ai des problèmes pour me connecter à ma base de données locale à l'aide de sqlcmd
.
Lorsque je tape ce qui suit dans Powershell:
sqlcmd -S "(localdb)\mssqllocaldb"
Je reçois le message d'erreur suivant:
Sqlcmd: Erreur: Pilote Microsoft ODBC 13 pour SQL Server: Interfaces réseau SQL Server: le système ne peut pas trouver le fichier spécifié.
Sqlcmd: erreur: pilote Microsoft ODBC 13 pour SQL Server: le délai de connexion a expiré.
Sqlcmd: Erreur: Pilote Microsoft ODBC 13 pour SQL Server: une erreur liée au réseau ou spécifique à une instance s'est produite lors de l'établissement d'une connexion à SQL Server. Le serveur n'est pas trouvé ou n'est pas accessible. Vérifiez si le nom de l'instance est correct et si SQL Server est configuré pour autoriser les connexions à distance. Pour plus d'informations, consultez la documentation en ligne de SQL Server.
Je peux me connecter à la base de données locale si j'utilise SQL Server Management Studio. Je peux également me connecter à la base de données locale si j'utilise le canal de nom d'instance.
J'ai une nouvelle installation de Windows 10 x 64, de la communauté Visual Studio et de SQL Server Management Studio 2016.
Il y avait un bogue driver in ODBC Lecteur 13. L'installation de ODBC mise à jour du pilote 13.1 résoudra ce problème.
Vous pouvez télécharger le pilote ici .
Ensuite, vous devriez pouvoir utiliser dans cmd ou powershell:
sqlcmd -S "(localdb)\MSSQLLocalDB" -i C:\path\to\file.sql
essayer
sqlcmd -S ".\mssqllocaldb"
ou
sqlcmd -S ".\mssqllocaldb -uYOUR_User -pYOUR_PASSWORD"
Je viens de recevoir cette erreur et cet article a résolu le problème pour moi. Commencez à lire à partir de la mention "Visual Studio 2017 & Pathing".
Le message d'erreur se produit réellement parce que ma variable de chemin pointe vers une version plus ancienne de l'outil sqlcmd .... Celle qui fonctionne pour tous mes moteurs SQL Express est située à l'adresse suivante:
C:\Program Files\Microsoft SQL Server\110\Tools\Binn \
Utiliser sqlcmd dans ce répertoire a fonctionné pour moi.