web-dev-qa-db-fra.com

Obtenir "sqlcmd sqlcmd: commande introuvable" sous Linux?

Chaque fois que je lance sqlcmd je reçois "commande introuvable"

sqlcmd -S localhost -U SA -P '<YourPassword>'
sqlcmd: command not found

Comment puis-je résoudre ce problème?

5
Evan Carroll

Il existe deux méthodes pour résoudre ce problème.

  1. Méthode insensée pour ceux qui ne savent pas utiliser Linux, préconisé dans le manuel , ajoutez le répertoire à la variable d'environnement PATH.
  2. Méthode sensée qui suit le FHS Linux, relie symboliquement l'exécutable au répertoire déjà dans le chemin.

Méthode insensée

CONSEIL: Ne suivez PAS les conseils du tutoriel Vous pouvez trouver le tutoriel (reproduit ici) **. Le didacticiel indique ce qui suit.

Facultatif : ajoutez /opt/mssql-tools/bin/ à votre [~ # ~] chemin [~ # ~] variable d'environnement dans un shell bash.

Pour rendre sqlcmd/bcp accessible à partir du shell bash pour les sessions de connexion, modifiez votre [~ # ~] chemin d'accès [~ ~ # ~] dans le fichier ~/.bash_profile avec la commande suivante:

echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bash_profile

Pour rendre sqlcmd/bcp accessible à partir du shell bash pour les sessions interactives/sans connexion, modifiez le [~ # ~] chemin [~ # ~] dans le fichier ~/.bashrc avec la commande suivante:

echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrc
source ~/.bashrc

Cela fonctionne, mais c'est médiocre.

Méthode saine

Suivez le Filesystem Hierarchy Standard

Sudo ln -s /opt/mssql-tools/bin/* /usr/local/bin/

Cela devrait juste être dans leur postinst script , mais vous savez ... Microsoft etc.,

9
Evan Carroll