Sql-Server

在 Linux 中獲取“sqlcmd sqlcmd:找不到命令”?

  • February 18, 2021

每當我執行時,sqlcmd我都會收到“找不到命令”

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

我該如何解決?

有兩種方法可以解決這個問題。

  1. 手冊中提倡的使用者特定方法:將目錄添加到環境變數PATH中。
  2. 系統範圍的方法:將執行檔符號連結到路徑中已經存在的目錄。

使用者特定方法

您可以使用教程推薦的方法。該教程指出以下內容:

可選:在 bash shell 中添加/opt/mssql-tools/bin/到您的PATH環境變數。

要使sqlcmd/bcp可以從 bash shell 訪問以進行登錄會話,請使用以下命令修改**~/.bash_profile文件中的PATH :**

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

要使sqlcmd/bcp可以從 bash shell 訪問以進行互動式/非登錄會話,請使用以下命令修改**~/.bashrc文件中的PATH :**

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

這有效,但它只影響該使用者的會話,並且只有當他們使用 bash 時。

全系統方法

將 MS SQL 工具連結到所有使用者都可以訪問的位置:

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

這可能在他們的postinst腳本中,這對於安裝可選包是有意義的。

這兩種方法都符合File system Hierarchy Standard,其中規定:

使用者呼叫的程序必須位於目錄/opt/<package>/bin

引用自:https://dba.stackexchange.com/questions/174277