|
|
茫茫網海中的冷日
發生過的事,不可能遺忘,只是想不起來而已! |
|
恭喜您是本站第 1729944
位訪客!
登入 | 註冊
|
|
|
|
發表者 |
討論內容 |
冷日 (冷日) |
發表時間:2008/3/17 8:46 |
- Webmaster

- 註冊日: 2008/2/19
- 來自:
- 發表數: 15773
|
- [轉貼]使用PHP+FreeTDS在Linux下連接MS SQLServer數據庫
- 使用PHP+FreeTDS在Linux下連接MS SQLServer數據庫
網站服務器要換Linux平台,然而由於種種原因吧,數據庫還是得沿用老的MS SQLServer,而以前在windows下PHP是使用的MSSQL擴展庫php_mssql.dll連接的(即添加extension=php_mssql.dll 到 php.ini文件即可)。查看PHP官方手冊得知,如果要想在Linux下使用MSSQL函數的功能,則必須使用第三方的軟件。這裡我使用的是PHP手冊上推薦的FreeTDS擴展庫,下載在http://ibiblio.org/pub/Linux/ALPHA/freetds/stable/。 首先安裝freetds
#tar -xzvf freetds-0.63RC10.tar.gz
#./configure --enable-msdblib --prefix=/usr/local/freetds
#make
#make install
配置freetds
#cd /usr/local/freetds
#vi etc/freetds.conf
修改以下的一段,並把;去掉 改好之後的內容:
[MyServer2k]
host=192.168.27.20
port=1433
tds version=8.0
其中的[MyServer2k]代表在客戶端使用的服務器名稱,host代表SQLServer服務器的IP地址,port代表端口 測試連接
#bin/tsql -S MyServer2k -H 192.168.27.20 -p 1433 -U sa -P sa
1> use tbit_mcp
2> go
1> select count(*) from t_service
4
1> quit
通過上面的操作,我們發現已經可以在Linux下訪問MS的數據庫咯 現在來說明以下這些參數的作用,-S MyServer2k是在freetds.conf中定義好的,-H 192.168.27.20服務器IP地址,和freetds.conf中的一致,如果使用了-S參數,這個參數可以不用,-p 1433用來指定端口是1433 ,–U sa用來指定連接數據庫的用戶名,-P sa用來指定連接數據庫的密碼。
這樣FreeTDS就配置完畢了 接著下載安裝php http://cn2.php.net/get/php-4.3.10.tar.gz/from/a/mirror php-4.3.10.tar.gz 使用tar命令解壓
#tar -xzvf php-4.3.10.tar.gz
#cd php-4.3.10
#./configure --with-mysql --with-apxs2=/www/bin/apxs --with-mssql=/usr/local/freetds
#make
#make install
註:--with-mssql=後面是tds的安裝路徑
重新運行apache,設置連接數據庫的PHP頁面如下
# vi dbconn.php
<?php
$hostname = "192.168.27.20:1433"; //MSSQL Server,注意一定要註明1433端口號,否則將無法連接
$dbuser = "sa"; //用戶名
$dbpasswd = "sa"; //密碼
$gPageSize= 3; //每頁顯示的記錄數
//連接數據庫
$db_id = mssql_connect($hostname,$dbuser,$dbpasswd) or die("無法連接數據庫服務器!");
$db = mssql_select_db("tbit_mcp",$db_id) or die("無法連接數據庫!");
//執行查詢語句
$query = "select * from t_service order by service_id DESC";
$result = mssql_query($query);
……其它我就不再多寫了,這樣我們就可以在Linux環境下使用PHP+FreeTDS訪問MS SQLServer數據庫啦!
|
|
|
|