• 首页
  • vue
  • TypeScript
  • JavaScript
  • scss
  • css3
  • html5
  • php
  • MySQL
  • redis
  • jQuery
  • 位置: php 中文手册 -> php 外部扩展库

    MSSQL服务器

    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中的设置影响。

    MS SQL Server configuration options
    名字默认可修改范围更新日志
    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_ALLAvailable since PHP 4.1.0.
    mssql.textsize"-1"PHP_INI_ALL
    mssql.textlimit"-1"PHP_INI_ALL
    mssql.batchsize"0"PHP_INI_ALLAvailable since PHP 4.0.4.
    mssql.datetimeconvert"1"PHP_INI_ALLAvailable since PHP 4.2.0.
    mssql.secure_connection"0"PHP_INI_SYSTEMAvailable since PHP 4.3.0.
    mssql.max_procs"-1"PHP_INI_ALLAvailable since PHP 4.3.0.
    mssql.charset""PHP_INI_ALLAvailable since PHP 5.1.2 when built with FreeTDS 7.0 or greater.