Linux 作為免費類 Unix 作業系統,憑藉開放原始碼、多工處理及 X-Window 優勢,廣泛用於企業內部網 WWW、FTP、Email、DNS 等全功能伺服器。企業內部網不僅需提供文字資訊存取,還需存取關聯式資料庫資料。SQL Server 憑藉低成本、高效能與 Windows NT 良好整合受青睞,但 Microsoft 未提供 Unix 平台客戶端程式,造成跨平台存取挑戰。本文介紹解決方案。
先了解 Microsoft SQL Server 與 Sybase SQL Server 淵源:兩公司曾共同開發 OS/2 平台 SQL Server,後獨立發展。Sybase 客戶端可存取 Microsoft SQL Server。Sybase 對 Linux 表現較大善意——雖未提供 Linux 版 SQL Server 引擎,但提供免費 CT-LIB 客戶端庫,這也是許多 IT 管理員選型時放棄 Oracle/Informix 的原因之一。
Sybase 釋出的 OpenClient for Linux 最初為 a.out 格式,後有網友轉換為 ELF 及動態連結 ELF 版本,可從 此處 下載。建議同時下載兩版本:日常用動態連結版,但部分程式編譯需靜態庫 libblk.a(僅含 ELF 版)。
下載後解壓(假設目錄 /usr/tmp):
tar zxvf linuxelfdynamic.tar.gz
移至 /usr/local:
mv sybase /usr/local
範例:
MSSQL query tcp ether mysql 1433
export SYBASE=/usr/local/sybase
export SYBPLATFORM=Linux
並相應修改標頭檔中伺服器名稱、用戶名、密碼描述。
Sybase 客戶端自帶 isql 工具,但推薦 SQSH(SQshell 縮寫),功能更強。下載:此處,最新版 1.6.0。假設存放 /usr/tmp:
tar zxvf sqsh1.6.0.tar.gz
cd sqsh1.6.0
./configure
make
make install
編譯安裝完成後,產生的 sqsh 可執行檔安裝至 /usr/local/bin/,即可透過該工具存取 Microsoft SQL Server。