Manuale PHP
Indietro |  | Avanti

# LXXX. Funzioni per Microsoft SQL Server

# Introduzione

Queste funzioni permettono di accedere ad un database MS SQL Server.

# Requisiti

Requisiti per le piattaforme Win32

Per potere funzionare è richiesto che sia installato il MS SQL Client Tools sullo stesso sistema su cui è il installato il PHP. Il Client Tools può essere installato o dal cd di MS SQL Server, o copiando il file `ntwdblib.dll` dalla directory `\winnt\system32` del server alla directory `\winnt\system32` della macchina su cui è installato il PHP. La copia del file `ntwdblib.dll` permette solo l'accesso al database. La configurazione del client richiede comunque l'installazione di tutto il pacchetto MS SQL Client Tools.

Requisiti per le piattaforme Unix/Linux

Per potere utilizzare l'estensione MSSQl su piattaforme Unix/Linux, occorre compilare ed installare la libreria FreeTDS. Il codice sorgente e le istruzioni per l'installazione sono disponibili nel sito di FreeTDS: http://www.freetds.org/

> Nota: Nella piattaforma Windows si utilizzano le DBLIB di Microsoft. Quindi le funzioni che restituiscono il nome della colonna si basano sulla funzione dbcolname() della DBLIB. La DBLIB è stata sviluppata per SQL Server 6.x che ammetteva nomi di colonna lunghi al massimo 30 caratteri. Per questo motivo il numero massimo di caratteri per il nome colonna ammessi sono 30. Nelle piattaforme in cui si utilizza FreeTDS (Linux) non si ha questo problema.

# Installazione

Il modulo MSSQL si abilita aggiungendo extension=php_mssql.dll al file di configurazione `php.ini`.

Per attivare queste funzionalità occorre compilare il PHP con --with-mssql[=DIR], dove DIR è la directory in cui è installato FreeTDS. Il pacchetto FreeTDS dovrebbe essere compilato utilizzando --enable-msdblib.

# Configurazione di Runtime

Il comportamento di queste funzioni è influenzato dalle impostazioni di `php.ini`.

Tabella 1. Parametri di configurazione per il modulo MS SQL Server

Nome | Default | Modificabile | Log Variazioni
--- | --- | --- | ---
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 | Disponibile da PHP 4.1.0
mssql.textsize | "-1" | PHP_INI_ALL |
mssql.textlimit | "-1" | PHP_INI_ALL |
mssql.batchsize | "0" | PHP_INI_ALL | Disponibile da PHP 4.0.4
mssql.datetimeconvert | "1" | PHP_INI_ALL | Disponibile da PHP 4.2.0
mssql.secure_connection | "0" | PHP_INI_SYSTEM | Disponibile da PHP 4.3.0
mssql.max_procs | "25" | PHP_INI_ALL | Disponibile da PHP 4.3.0

Per maggiori dettagli sulle costanti PHP_INI_* vedere Appendice G.

# Tipi di risorse

# Costanti predefinite

Queste costanti sono definite da questa estensione e sono disponibili solo se l'estensione è stata compilata nel PHP o se è stata caricata dinamicamente a runtime.

`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)

Indietro | Partenza | Avanti
udm_set_agent_param | Risali | mssql_bind