Microsoft SQL Server是Microsoft公司推出的关系型数据库管理系统。
对Win32平台的要求。扩展要求在安装PHP的系统上安装MS-SQL客户端工具。客户端工具可以从MS SQL Server CD安装,也可以通过将ntwdblib.dll从服务器上的\winnt\system32复制到PHP框上的\winnt\system32来安装。复制ntwdblib.dll将只提供通过命名管道的访问。客户端的配置需要安装所有工具。此扩展在使用PHP5.3或更高版本的Windows上不再可用。SqlSrv,MS SQL的另一个驱动程序可从Microsoft获得:;http://msdn.Microsoft.com/en-us/sqlserver/ff657782.aspx。
Unix/Linux平台的要求。要在Unix/Linux上使用MSSQL扩展,首先需要构建并安装FreeTDS库。源代码和安装说明可在FreeTDS主页上获得:http://www.FreeTDS.org/
Note:
在Windows上,使用来自Microsoft的DBLIB。返回列名的函数基于DBLIB中的dbcolname()函数。DBLIB是为SQL Server 6.x开发的,其中最大标识符长度为30。由于这个原因,最大列长度为30个字符。在使用FreeTDS的平台(Linux)上,这不是问题。
Note:
在Windows上,如果您使用的是MSSQL 2005或更高版本,则必须将ntwdblib.dll复制到已安装php的目录中,并覆盖其中的一个。这是因为发布的版本是旧的和过时的。或者你可以使用 » http://msdn.microsoft.com/en-us/sqlserver/ff657782.aspx, ODBC, PDO_DBLIB or PDO_ODBC extensions, to talk to MSSQL.
I have struggled a lot to make PHP connect to a MS SQL server from under a Linux (using FreeTDS). I installed the latest FreeTDS and tried to use usual host:port to connect to a server. Finally when I configured freetds.conf like that: [mysrvalias] host = 192.168.17.17 port = 1433 tds version = 7.0 and used mysrvalias instead of the 192.168.17.17:1433, it worked!
运行时配置
这些函数的行为受php.ini中的设置影响。
名字 | 默认 | 可修改范围 | 更新日志 |
---|---|---|---|
mssql.allow_persistent | "1" | PHP_INI_SYSTEM | |
mssql.max_persistent | "-1" | PHP_INI_SYSTEM | |
mssql.max_links | "-1" | PHP_INI_SYSTEM | |
mssql.min_error_severity | "10" | PHP_INI_ALL | |
mssql.min_message_severity | "10" | PHP_INI_ALL | |
mssql.compatibility_mode | "0" | PHP_INI_ALL | |
mssql.connect_timeout | "5" | PHP_INI_ALL | |
mssql.timeout | "60" | PHP_INI_ALL | Available since PHP 4.1.0. |
mssql.textsize | "-1" | PHP_INI_ALL | |
mssql.textlimit | "-1" | PHP_INI_ALL | |
mssql.batchsize | "0" | PHP_INI_ALL | Available since PHP 4.0.4. |
mssql.datetimeconvert | "1" | PHP_INI_ALL | Available since PHP 4.2.0. |
mssql.secure_connection | "0" | PHP_INI_SYSTEM | Available since PHP 4.3.0. |
mssql.max_procs | "-1" | PHP_INI_ALL | Available since PHP 4.3.0. |
mssql.charset | "" | PHP_INI_ALL | Available since PHP 5.1.2 when built with FreeTDS 7.0 or greater. |