Manual do PHP
Anterior |  | Próxima

# LIX. Microsoft SQL Server

# Introdução

Estas funções permitem a você acessar um banco de dados do MS SQL Server.

# Requisitos

Requerimentos para as plataformas Win32.

A extensão requer que as ferramentas de cliente do MS SQL sejam instaladas no sistema onde o PHP esta instalado. As ferramentas de cliene podem ser instaladas apartir do CD do MS SQL Server ou copiando `ntwdblib.dll` de `\winnt\system32` da máquina do servidor `\winnt\system32` na máquina do PHP. Copiar `ntwdblib.dll` irá somente prover acesso. Configuração do cliente irá requerer a instalação de todas as ferramentas.

Requerimentos para as plataformas Unix/Linux.

Para usar a extensão MSSQL no Unix/Linux, você primeiramente precisa compilar e instalar a biblioteca FreeTDS. Código fonte e instruções de instalação estão disponíveis na página de FreeTDS: http://www.freetds.org/

> Nota: No Windows, é usado a DBLIB da Microsoft. Funções que retornam um nome de coluna estão baseadas na função `dbcolname()` na DBLIB. DBLIB foi desenvolvida para o SQL Server 6.x aonde o limite do identificador é 30. Por esta razão, o limite de tamanho da coluna é 30 caracteres. Nas plataformas onde o FreeTDS é usado(Linux), isto não é um problema.

# Instalação

A extensão MSSQL é ativada se adicionando extension=php_mssql.dll no `php.ini`.

Para que estas funções funcionem, você tem que compilar o PHP com `--with-mssql[=DIR]`, aonde DIR é o diretório de instalação do FreeTDS. E FreeTDS deve ser compilado usando `--enable-msdblib`.

# Configuração durante execução

O comportamento dessas funções podem ser modificado pelas configurações do `php.ini`.

Tabela 1. Opções de configuração do MS SQL Server

Nome | Padrão | Modificável
--- | --- | ---
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.compatability_mode | "0" | PHP_INI_ALL
mssql.connect_timeout | "5" | PHP_INI_ALL
mssql.timeout | "60" | PHP_INI_ALL
mssql.textsize | "-1" | PHP_INI_ALL
mssql.textlimit | "-1" | PHP_INI_ALL
mssql.batchsize | "0" | PHP_INI_ALL
mssql.datetimeconvert | "1" | PHP_INI_ALL
mssql.secure_connection | "0" | PHP_INI_SYSTEM
mssql.max_procs | "25" | PHP_INI_ALL

Para maiores detalhes e definição das constantes PHP_INI_* veja ini_set().

# Tipos Resource

# Constantes Predefinidas

As contantes abaixo são definidas por esta extensão e somente estarão disponíveis quando a extensão foi compilada com o PHP ou carregada dinamicamente durante a execução.

`MSSQL_ASSOC` (integer)

`MSSQL_NUM` (integer)

`MSSQL_BOTH` (integer)

`SQLTEXT` (integer)

`SQLVARCHAR` (integer)

`SQLCHAR` (integer)

`SQLINT1` (integer)

`SQLINT2` (integer)

`SQLINT4` (integer)

`SQLBIT` (integer)

`SQLFLT8` (integer)

Anterior | Principal | Próxima
mime_content_type | Acima | mssql_bind