連接Microsoft SQL Server數據庫

此頁由 Linux Wiki用戶Chenxing 於 2008年3月14日 (星期五) 10:06 的最後更改。

出自Linux Wiki

提示:此文已超过 16 年(5858 天)未更新,如发现内容过时或有误,欢迎改进:)

本文討論在Linux中連接MSSQL數據庫服務器的方法,包括命令提示符式的連接和可視化的客戶端界面(使用OpenOffice.Org)。

Hint.gif
提示:
如果您需要在PHP程序中連接MSSQL,請看PHP連接Microsoft_SQL_Server數據庫

目錄

基本原理

FreeTDS為Linux系統提供了TDS協議的開源客戶端。由於MS SQL和Sybase使用的恰是TDS協議,所以在Linux中可以用FreeTDS連接MS SQL。[1]

我們可以利用OpenOffice.Org Base及Linux ODBC實現可視化的數據庫查看方式。方便個人用戶使用Linux遠程管理自己的數據庫系統。

命令行管理界面

安裝FreeTDS和sqsh

首先安裝FreeTDS,在Debian/Ubuntu系統中的安裝可以直接安裝tdsodbcsqsh軟件包。如果你使用的發行版沒有FreeTDS,可以到FreeTDS的網站sqsh的網站下載安裝。

命令行方式使用方法簡介

現在就可以用sqsh訪問SQL Server數據庫了,最簡單的使用方法如下:

sqsh -U 用户名 -P 密码 -S 服务器地址

等一會兒如果出現1> ,就說明連接成功了,可以試着輸入如下語句:

SELECT @@version
GO

注意輸入go後才執行語句。

Hint.gif
提示:
在命令行中直接輸入密碼是危險的(可以使用PS命令得到這一信息)[2],sqsh推薦將密碼存放在~/.sqshrc中。

圖形界面的連接方式

安裝軟件

請先安裝前面命令行管理界面中所說的FreeTDS和sqsh。然後安裝軟件包unixodbc-bin(Debian/Ubuntu)或到unixODBC的網站去下載、安裝。

配置ODBC

配置FreeTDS

FreeTDS的配置文件在/etc/freetds/freetds.conf(或者類似的地方)。用編輯器打開這個配置文件(需要root權限),並添加如下內容:

[myTDS]
       host = 你的服务器地址
       port = 1433
       tds version = 7.0

ODBC

運行ODBCConfig[3]

$ sudo ODBCConfig

Drivers標籤頁->Add。在出來的窗口中,Name填myTDS,Driver填/usr/lib/odbc/libtdsodbc.so(如果這個文件不存在請find一下),Setup填/usr/lib/odbc/libtdsS.so(如果不存在也請find一下)。確定即可(注意確定是對話框左上角的那個圖標)。

選擇System DSN標籤頁,點Add,Driver選剛才創建的myTDS,點OK。在彈出的對話框的中,name填mssqlTest,Port填1433,Servername、UID、PWD分別為myTDS、用戶名、密碼,請如實填寫。再確定即可。

測試連接

使用isql測試連接:

isql -v mssqlTest 用户名 密码

連接成功後會有:

+---------------------------------------+
| Connected!                            |
|                                       |
| sql-statement                         |
| help [tablename]                      |
| quit                                  |
|                                       |
+---------------------------------------+

使用OpenOffice.Org Base進行管理

準備工作就緒後,打開OpenOffice.Org Base,在數據庫嚮導中,選擇連接到現在數據庫,在下面選擇ODBC,輸入數據源名稱:mssqlTest,再輸入用戶名等信息就可以了。

使用OpenOffice.Org Base可以查看錶的結構及表中的數據,也可進行修改,不過如果連接到服務器的速度慢,OpenOffice會比較卡。


參考資料

  1. http://www.freetds.org/
  2. sqsh的man文檔
  3. http://www.linuxjournal.com/node/6636/print

本文对您有帮助?分享给更多朋友!

反馈与讨论

发现文档不全面、有错误却没时间编辑文档?想分享自己的经验或见解?欢迎在此留言、讨论。
简体繁体转换