在Linux系統上安裝SQL Server客戶端記

在一些情況下,運行在Linux上的服務需要訪問SQL Server數據庫;而在一些特殊情況下,我們需要快速確認訪問SQL Server數據庫是否有異常。比如我遇到的這種情況,一個java服務在其他機器上可以正常運行,而在某臺Linux機器上就運行不起來,同時,已確認這臺機器可以正常訪問SQL Server服務器的IP和端口。當然,這種情況下有很多解決辦法,比如我可以專門寫個java的程序或者python的腳本去驗證訪問SQL Server是否有問題。不過自己寫程序畢竟還是稍微麻煩些,而且還要引用和安裝各種類庫,不是很方便。

實際上,從SQL Server 2017開始,SQL Server就可以穩定地在Linux上運行了。所以,在Linux上直接使用Microsoft官方的客戶端工具是最方便的一種方式。雖然確實很方便也很簡單,但是如果沒有找到竅門,還是要費點功夫的。

下面是在Linux上安裝SQL Server客戶端的方法:
1.在開始之前,確認下系統信息,我用的系統是:CentOS Linux release 7.0.1406 (Core)

2.添加Microsoft官方的源
  這步其實是最重要的,是正常安裝的關鍵。網絡上很多文章包括官方的文檔裏都會給出這一步,但實際上這一步的地址Microsoft會更新和變更,直接引用文章中的地址往往會出錯。這一步需要自己做一些判斷和選擇。
  Microsoft官方源的父目錄地址爲:https://packages.microsoft.com/config/
  打開後顯示如下:


  我們需要根據自己的系統進行選擇。
  我用的是CentOS 7.0,所以選https://packages.microsoft.com/config/centos/7/prod.repo


  
3.安裝SQL Server客戶端
   非常簡單,執行“yum install mssql-cli -y”就可以安裝成功了。



       這裏需要說下的是,Microsoft官方是有幾個命令行實用工具的,常見的是sqlcmd,這個是在SQL Server比較老的版本中就有的。安裝sqlcmd的命令是:”yum install mssql-tools -y”,安裝好的路徑是/opt/mssql-tools,需要自己設置環境變量或者做鏈接纔好用。


       不過,sqlcmd在Microsoft官方最新更新的一些源中已經不支持了。比如我選的這個源執行”yum install mssql-tools -y”就會報”No package mssql-tools available.Error: Nothing to do”,不能安裝成功。


       而mssql-cli是SQL Server 2016開始支持的一個開源交互式命令行工具,提供了T-SQL智能感知、語法高亮、多行編輯、結果格式美化、支持配置文件等功能,個人感受比sqlcmd好用太多,推薦使用mssql-cli。


4.運行mssql-cli
   mssql-cli的使用跟mysql很像,不過參數有所區別。
   -S或--server 指定服務器地址,如果是默認的1433端口,那麼不寫也行;如果是其他端口的話,在後面加逗號和端口就行。
   -U或--username 指定用戶名
   -P或--password 指定密碼

OK.現在就可以暢快地在Linux上跟訪問MySQL一樣訪問SQL Server 數據庫了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章