Vous êtes sur la page 1sur 4

sqlsrv_connect

(No hay informacin de versin disponible, podra estar nicamente en SVN)


sqlsrv_connect Abre una conexin a una base de datos Microsoft SQL
Server

Descripcin
resource sqlsrv_connect ( string $serverName [, array $connect
ionInfo ] )
Abre una conexin a una base de datos Microsoft SQL Server. Por defecto, la
conexin se intenta utilizando la autenticacin Windows. Para conectar
utilizando la autenticacin SQL Server, incluir "UID" y "PWD" en el array de
opciones de conexin.

Parmetros
serverName

El nombre del servidor en el que se ha establecido una conexin. Para


conectar a una instancia especfica, poner una barra invertida despus
del nombre de servidor e indicar el nombre de la instancia (e.g.
NombreServidor\sqlexpress).
connectionInfo

Un array asociativo que especifica las opciones de conexin al servidor.


Si no se ha especificado ningn valor para el UID y PWD, la conexin se
intentar utilizando la autenticacin Windows. Para una lista completa de
claves soportadas, ver Opciones de Conexin SQLSRV.

Valores devueltos
Un recurso de conexin. Si no se puede abrir la conexin, se retorna el
valor FALSE .

Ejemplos

Ejemplo #1 Conectar utilizando autenticacin Windows.


<?php
$serverName = "serverName\sqlexpress"; //serverName\instanceName
// Puesto que no se han especificado UID ni PWD en el array

$connecti

onInfo,
// La conexin se intentar utilizando la autenticacin Windows.
$connectionInfo = array( "Database"=>"dbName");
$conn = sqlsrv_connect( $serverName, $connectionInfo);
if( $conn ) {
echo "Conexin establecida.<br />";
}else{
echo "Conexin no se pudo establecer.<br />";
die( print_r( sqlsrv_errors(), true));
}
?>

Ejemplo #2 Conectar especificando nombre de usuario y contrasea.


<?php
$serverName = "serverName\sqlexpress"; //serverName\instanceName
$connectionInfo = array( "Database"=>"dbName", "UID"=>"userName", "PWD
"=>"password");
$conn = sqlsrv_connect( $serverName, $connectionInfo);
if( $conn ) {
echo "Conexin establecida.<br />";
}else{
echo "Conexin no se pudo establecer.<br />";
die( print_r( sqlsrv_errors(), true));
}
?>

Ejemplo #3 Conectar a un puerto especfico.


<?php
$serverName = "serverName\sqlexpress, 1542"; //serverName\instanceName
, portNumber (por defecto es 1433)

$connectionInfo = array( "Database"=>"dbName", "UID"=>"userName", "PWD


"=>"password");
$conn = sqlsrv_connect( $serverName, $connectionInfo);
if( $conn ) {
echo "Conexin establecida.<br />";
}else{
echo "Conexin no se pudo establecer.<br />";
die( print_r( sqlsrv_errors(), true));
}
?>

Notas
Por defecto, la funcin sqlsrv_connect() utiliza la conexin mediante agrupacin
para mejorar el funcionamiento de la conexin. Para desconectar el
funcionamiento en modo grupo (p.ej. forzar una nueva conexin en cada
llamada), configurar la opcin "ConnectionPooling" en el array
$connectionOptions a 0 (o FALSE). Para ms informacin, ver Cola de
conexin SQLSRV.
La extensin SQLSRV no tiene una funcin especfica para cambiar a que base
de datos se est conectado. La base de datos objetivo se especifica en el array
de opciones $connectionOptions que se pasa a sqlsrv_connect. Para cambiar
la base de datos en una conexin ya abierta, ejecutar la siguiente sentencia sql
"USE dbName" (p.ej. sqlsrv_query($conn, "USE dbName")).

Ver tambin

sqlsrv_close() - Cierra una conexin abierta y libera los recursos


asociados a la conexin

sqlsrv_errors() - Devuelve informacin de errores y alertas (warnings) de


la ltima operacin SQLSRV realizada

sqlsrv_query() - Prepares and executes a query.

add a note

User Contributed Notes 3 notes

up
down
2
Gilly
7 months ago

In order to connect using Windows Authentication (on Windows) for


Wamp/Xamp installations you should verify that the apache service is
running under a user who can connect to SQL Server and not under a
local user.

up
down
0
Eion Robb
7 months ago

As mentioned at https://msdn.microsoft.com/enus/library/cc296193.aspx the connection will convert some data into


PHP data types. Of particular difference to other database functions
in PHP is that dates will be output as objects instead of strings.
To make the sqlsrv_fetch_{array|object}() functions return
dates/times/datetimes as strings instead, specify:
'ReturnDatesAsStrings' => true
in the $connectionInfo array.

For more info about this behaviour, see https://msdn.microsoft.com/enus/library/ee376928.aspx

up
down
-72
raul dot 3k at gmail dot com
3 years ago

In fact, you don't need to inform the instance name in some cases.
When I inform my the instance name of my database server, it's throws
an error:
<?php
//...
$serverName = "192.168.0.11\SVDCBD01";
//...
?>
Throws:
[Microsoft][SQL Server Native Client 10.0]SQL Server Network
Interfaces: Error Locating Server/Instance Specified [xFFFFFFFF].
And this works as well:
<?php
//...
$serverName = "192.168.0.11";
//...
?>