Está en la página 1de 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/en-
us/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/en-


us/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";
//...
?>

También podría gustarte