linux下freeTDS的安裝

2021-05-28 16:17:02 字數 2750 閱讀 6179

最近要在linux下用c++連線windows下的sql server 2005,所以只好用freetds了

環境:  系統ubuntu9.04     kernel 2.6.28   gcc 4.3.3    freetds 0.91

參考文件:在網上查了些資料,但主要還是參考官網上的使用者手冊

xgy@ubuntu:~/tmp$ tar xvf freetds-0.91.tar.gz

xgy@ubuntu:~/tmp$ cd freetds-0.91/

xgy@ubuntu:~/tmp/freetds-0.91$ ./configure --prefix=/usr/local/freetds0.91  --enable-msdblib  --with-tdsver=7.1

--prefix=/usr/local/freetds0.91 :freetds將被安裝在/usr/local/freetds0.91目錄下

--enable-msdblib :為是允許microsoft資料庫函式庫

--with-tdsver=7.1 這個是指定tds的協議版本,如果不指定只安裝的是tds5.0版的,網上有好多資料這裡寫的是8.0其實tds最高的是7.2版的,之後就沒再更新了,所以如果寫的是8.0,那麼安裝的也是5.0版的,另外tds有7.2版的,但在這裡最高卻只能寫到7.1,如果寫的是7.2,那麼安裝的也還是5.0版的,這個可以用./configure --help,輸出後可以看到這樣的一行:--with-tdsver=version   tds protocol version (4.2/4.6/5.0/7.0/7.1)[5.0]

更詳細的的配置情況請參考:config.htm

另外說明下:在安裝freetds之前我沒有安裝odbc驅動管理器,也沒有安裝odbc驅動。

接下來就是編譯、安裝:

xgy@ubuntu:~/tmp/freetds-0.91$ make

root@ubuntu:/home/xgy/tmp/freetds-0.91#   make install     //注意這裡是以root使用者執行的。

接下來對一些環境變數進行配置

export path=$path:/usr/local/freetds0.91/bin

export ld_library_path=$ld_library_path:/usr/local/freetds0.91/lib    

然後執行:source  .bashrc   //這個是使剛才的設定生效

對於ld_library_path環境變數的配置也可以換成配置檔案:/etc/ld.so.conf,這個檔案的最後一行加上:/usr/local/freetds0.91/lib

如果改的是/etc/ld.so.conf檔案,那麼就在root使用者下執行:ldconfig,使剛才的配置立即生效。

對於這兩個變數的配置如果還有啥疑問,那最好是好好看下這篇文章:這個會讓你對linux下的一些路徑問題有比較深的理解

網上有資料說還需要配置freetds變數,我做過測試,可以不用配置這個變數的。

現在可以看下你安裝的情況,執行:tsql  -c 輸出如下圖:

從上圖可以看到freetds的版本為0.91,freetds.conf配置檔案在/usr/local/freetds0.91/etc目錄下,tds的版本為7.1!! 當我開始configure時--with-tdsver選的8.0、7.2這裡輸出的tdsversion的值是5.0,用這個配置與windows下的sqlserver2005連線時執行命令:

xgy@ubuntu:~$ tsql -h 192.168.13.153 -p1433 -u sa -p 123456    //出現如下圖錯誤:

choosingtdsprotocol.htm#tab.protocol.by.product

confirminstall.htm#e.g.badname

接下來對freetds.conf檔案進行配置,這個可以參考:freetdsconf.htm#tab.freetds.conf

在這個檔案的最後加上如下內容:

[seamus-pc]

host = 192.168.13.153  //sqlserver機器名字或者ip位址

port = 1433

tds version = 7.1       

說明:[seamus-pc] 這個括號裡的內容可以隨便寫。

接下來就是測試連線了,執行的命令為:xgy@ubuntu:~$ tsql -h192.168.13.153 -p 1433 -u sa -p 123456

首先執行ping命令,確保兩個系統能過通訊,如果linux是裝在虛擬機器中的,那網絡卡需要要配成nat模式(兩個系統在同一臺主機上)、或者橋接模式(linux、windows位於兩台主機上)

如果sql server2005服務沒有啟動,則有可能出現如下錯誤:

另外還要記得啟用伺服器的tcp/ip協議:開始->開始->microsoft sql server2005->配置工具->sql server配置管理器 出現如下圖:

啟用tcp/ip協議後重啟服務即可。

下面這張是我沒有啟用tcp/ip協議同時tds的版本為5.0時執行

xgy@ubuntu:~$tsql -h 192.168.13.153 -p 1433 -u sa -p 123456     出現的錯誤:

如果連線成功則會出現乙個提示符:>,然後可以輸入sql語句,下面這個是我執行的情況:

student是我資料庫pctest(預設資料庫)中的一張表

到此,freetds在linux下安裝、並與windows下的sql server2005連線成功!!

Linux下tengine nginx的安裝配置

linux下nginx tengine的安裝配置 本部落格使用tengine,nginx安裝步驟基本一致 簡介 tengine是由 網發起的web伺服器專案。它在nginx的基礎上,針對大訪問量 的需求,新增了很多高階功能和特性。tengine的效能和穩定性已經在大型的 如 網,天貓 等得到了很好的...

Linux環境下MySQL python安裝過程

參考 1.首先確認python的版本為2.3.4以上,如果不是需要公升級python的版本 python v 檢查python版本 2.安裝mysql,比如安裝在 usr local mysql目錄下 4.安裝 mysql python tar xvzf mysql python 1.2.2.tar...

Linux環境下MySQL python安裝過程

參考 1.首先確認python的版本為2.3.4以上,如果不是需要公升級python的版本 python v 檢查python版本 2.安裝mysql,比如安裝在 usr local mysql目錄下 4.安裝 mysql python tar xvzf mysql python 1.2.2.tar...