分类: LINUX
2008-12-15 13:33:35
重新启动Apache,检查phpinfo()信息中是否有mssql support enabled
在非 Windows 系统要连上 SQL Server 普遍使用 FreeTDS,所以这里会看到 Library version 是 FreeTDS ,而不是常见的版本数字
php 藉由 FreeTDS 使用 SQL Server 資料庫,所以第一步就是單純使用 tsql 指令測試連線,這個步驟如果失敗,後面就不用試了。
tsql 的語法
Usage: tsql [-S | -H -p ] -U [ -P ] [ -I ]
tsql -H 192.168.1.4 -p 1433 -U sa -P password
-H 192.168.1.4 => SQL Server 的主機 IP 為 192.168.1.4
-p 1433 => TCP/IP 使用 1433 port,同時 1433 也是預設值,此參數的 p 為小寫請注意
-U sa => 允許連線的帳號
-P password => 該連線帳號的密碼,可省略
/usr/local/etc/freetds.conf
[global]
tds version = 4.2
initial block size = 512
text size = 64512# 設定 SQL Server 的相關設定
# mssql2k 此名稱可自行設定,後續連線的 ServerName 指的就是這個
[mssql2k]
host = 192.168.1.4
port = 1433
client charset = cp950
tds version = 8.0
再用 tsql 測試一次,不同的是這次不是使用 IP:port ,而是指定 server
tsql -S mssql2k -p 1433 -U sa -P password
php mssql_connect() 的第一個參數為 ServerName,在Windows 環境下設定 IP 位址會是電腦名稱都可以,不過在使用 FreeTDS 的環境,ServerName 必須指定 freetds.conf 內設定的名稱
$db_link = mssql_connect( "mssql2k", "sa", "password" );
mssql_select_db( "erp", $db_link );
?>