|   |  | 
        
          | 
			  
			    | 茫茫網海中的冷日 發生過的事,不可能遺忘,只是想不起來而已!
 |  
				|  | 恭喜您是本站第 1746504 
										位訪客!
					 登入  | 註冊 |  |  | 
      
      
        
                      | 
 
 
 
 
 
 | 
                      
	| 發表者 | 討論內容 |  
	| 冷日 (冷日)
 | 發表時間: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數據庫啦!
 |  
	|  |  
|  |  
 
 
                     |