sqlsrv_connect
Erstellt eine Verbindungsressource und öffnet eine Verbindung. Standardmäßig wird versucht, die Verbindung mithilfe der Windows-Authentifizierung herzustellen.
Syntax
sqlsrv_connect( string $serverName [, array $connectionInfo])
Parameter
$serverName: Eine Zeichenfolge, die den Namen des Servers angibt, mit dem eine Verbindung hergestellt wird. Ein Instanzname (z. B. "MeinServer\Instanzname") oder eine Portnummer (z. B. "MeinServer, 1521") kann als Teil dieser Zeichenfolge enthalten sein. Eine umfassende Beschreibung der für diesen Parameter verfügbaren Optionen finden Sie unter dem Schlüsselwort Server im Abschnitt für Verbindungszeichenfolgen-Schlüsselwörter für den ODBC-Treiber unter Verwenden von Verbindungszeichenfolgen-Schlüsselwörtern mit SQL Native Client.
$connectionInfo [OPTIONAL]: Ein assoziatives array, das Verbindungsattribute enthält (z. B. array ("Database" => "AdventureWorks")). In der folgenden Tabelle werden die unterstützten Schlüssel für das Array beschrieben:
Schlüssel | Wert | Beschreibung | Standard |
---|---|---|---|
APP |
String |
Der in der Ablaufverfolgung verwendete Anwendungsname. |
Kein Wert festgelegt. |
CharacterSet |
String |
Gibt den Zeichensatz an, der zum Senden von Daten an den Server verwendet wird. Dieser Schlüssel ist neu in SQL Server-Treiber für PHP Version 1.1. Weitere Informationen finden Sie unter Gewusst wie: Senden und Abrufen von UTF-8-Daten mit der integrierten UTF-8-Unterstützung. |
SQLSRV_ENC_CHAR |
ConnectionPooling |
1 oder true für aktiviertes Verbindungspooling. 0 oder false für deaktiviertes Verbindungspooling. |
Gibt an, ob die Verbindung aus einem Verbindungspool zugewiesen wird (1 oder true) oder nicht (0 oder false). |
true (1) |
Database |
String |
Gibt den Namen der Datenbank an, die für die herzustellende Verbindung verwendet wird1. |
Die Standarddatenbank für die Anmeldung wird verwendet. |
Encrypt |
1 oder true für eine aktivierte Verschlüsselung. 0 oder false für eine deaktivierte Verschlüsselung. |
Gibt an, ob die Kommunikation mit SQL Server verschlüsselt (1 oder true) oder unverschlüsselt (0 oder false) ist2. |
false (0) |
Failover_Partner |
String |
Gibt den Server und die Instanz der Datenbankspiegelung (falls aktiviert und konfiguriert) an, der bzw. die im Falle der Nichtverfügbarkeit des Primärservers verwendet werden soll. |
Kein Wert festgelegt. |
LoginTimeout |
Integer |
Gibt die Anzahl von Sekunden an, die gewartet wird, bevor der Verbindungsversuch fehlschlägt. |
Kein Timeout. |
MultipleActiveResultSets |
1 oder true zur Verwendung von MARS (Multiple Active Result Sets). 0 oder false zum Deaktivieren von MARS (Multiple Active Result Sets). |
Ermöglicht Ihnen, die Unterstützung für MARS (Multiple Active Result Sets) zu deaktivieren oder explizit zu aktivieren. Dieser Schlüssel ist neu in SQL Server-Treiber für PHP Version 1.1. Weitere Informationen finden Sie unter Gewusst wie: Deaktivieren von MARS (Multiple Active Result Sets). |
false (0) |
PWD |
String |
Gibt das der Benutzer-ID zugeordnete Kennwort an, das beim Herstellen einer Verbindung mithilfe der SQL Server-Authentifizierung verwendet werden soll3. |
Kein Wert festgelegt. |
QuotedId |
1 oder true zur Verwendung von SQL-92-Regeln. 0 oder false zur Verwendung von Legacyregeln. |
Gibt an, ob für Bezeichner in Anführungszeichen SQL-92-Regeln (1 oder true) oder Legacy-Transact-SQL-Regeln (0 oder false) verwendet werden sollen. |
true (1) |
ReturnDatesAsStrings |
1 oder true, um Datums- und Uhrzeittypen als Zeichenfolgen zurückzugeben. 0 oder false, um Datums- und Uhrzeittypen als DateTime-PHP-Typen zurückzugeben. |
Sie können Datums- und Uhrzeittypen ("datetime", "date", "time", "datetime2" und "datetimeoffset") als Zeichenfolgen oder als PHP-Typen abrufen. Weitere Informationen finden Sie unter Gewusst wie: Abrufen des Datums- und Uhrzeittyps als Zeichenfolge. |
false |
TraceFile |
String |
Der Pfad für die Datei, die für die Ablaufverfolgungsdaten verwendet wird. |
Kein Wert festgelegt. |
TraceOn |
1 oder true zum Aktivieren der Ablaufverfolgung. 0 oder false zum Deaktivieren der Ablaufverfolgung. |
Gibt an, ob für die herzustellende Verbindung die ODBC-Ablaufverfolgung aktiviert (1 oder true) oder deaktiviert (0 oder false) ist. |
false (0) |
TransactionIsolation |
SQLSRV_TXN_READ_UNCOMMITTED SQLSRV_TXN_READ_COMMITTED SQLSRV_TXN_REPEATABLE_READ SQLSRV_TXN_SNAPSHOT SQLSRV_TXN_SERIALIZABLE |
Gibt die Transaktionsisolationsebene an. |
SQLSRV_TXN_READ_COMMITTED |
TrustServerCertificate |
1 oder true, um dem Zertifikat zu vertrauen. 0 oder false, um dem Zertifikat nicht zu vertrauen. |
Gibt an, ob der Client einem selbstsignierten Serverzertifikat vertrauen (1 oder true) oder es ablehnen (0 oder false) soll. |
false (0) |
UID |
String |
Gibt die Benutzer-ID an, die beim Herstellen einer Verbindung mithilfe der SQL Server-Authentifizierung verwendet werden soll3. |
Kein Wert festgelegt. |
WSID |
String |
Der Name des Computers für die Ablaufverfolgung. |
Kein Wert festgelegt. |
1. Alle über die hergestellte Verbindung ausgeführten Abfragen werden an die Datenbank gerichtet, die vom Database-Attribut angegeben wird. Es kann jedoch mithilfe eines vollqualifizierten Namens auch auf Daten in anderen Datenbanken zugegriffen werden, wenn der Benutzer über die entsprechenden Berechtigungen verfügt. Wenn beispielsweise die master-Datenbank mit dem Database-Verbindungsattribut festgelegt ist, ist es dennoch möglich, eine Transact-SQL-Abfrage auf die AdventureWorks.HumanResources.Employee-Tabelle auszuführen, indem der vollqualifizierte Name verwendet wird.
2. Die Aktivierung von Encryption kann die Leistung einiger Anwendungen aufgrund des zum Verschlüsseln von Daten erforderlichen Rechenaufwands beeinträchtigen.
3. Die UID- und PWD-Attribute müssen beide festgelegt werden, wenn die Verbindung mithilfe der SQL Server-Authentifizierung hergestellt wird.
Viele der unterstützten Schlüssel sind ODBC-Verbindungszeichenfolgen-Attribute. Informationen über ODBC-Verbindungszeichenfolgen finden Sie unter Verwenden von Verbindungszeichenfolgen-Schlüsselwörtern mit SQL Native Client.
Rückgabewert
Eine PHP-Verbindungsressource. Wenn eine Verbindung nicht erfolgreich erstellt und geöffnet werden kann, wird false zurückgegeben.
Hinweise
Wenn für die UID- und PWD-Schlüssel keine Werte im optionalen $connectionInfo-Parameter angegeben sind, wird versucht, die Verbindung mithilfe der Windows-Authentifizierung herzustellen. Weitere Informationen zum Verbinden mit dem Server finden Sie unter Vorgehensweise: Herstellen einer Verbindung mithilfe der Windows-Authentifizierung und Vorgehensweise: Herstellen einer Verbindung mithilfe der SQL Server-Authentifizierung.
Beispiel
Im folgenden Beispiel wird eine Verbindung mithilfe der Windows-Authentifizierung erstellt und geöffnet. Im Beispiel wird davon ausgegangen, dass SQL Server und die AdventureWorks-Datenbank auf dem lokalen Computer installiert sind. Alle Ausgaben werden in die Konsole geschrieben, wenn das Beispiel über die Befehlszeile ausgeführt wird.
<?php
/*
Connect to the local server using Windows Authentication and specify
the AdventureWorks database as the database in use. To connect using
SQL Server Authentication, set values for the "UID" and "PWD"
attributes in the $connectionInfo parameter. For example:
$connectionInfo = array("UID" => $uid, "PWD" => $pwd));
*/
$serverName = "(local)";
$connectionInfo = array( "Database"=>"AdventureWorks");
$conn = sqlsrv_connect( $serverName, $connectionInfo);
if( $conn )
{
echo "Connection established.\n";
}
else
{
echo "Connection could not be established.\n";
die( print_r( sqlsrv_errors(), true));
}
//-----------------------------------------------
// Perform operations with connection.
//-----------------------------------------------
/* Close the connection. */
sqlsrv_close( $conn);
?>
Siehe auch
Konzepte
Informationen zu den Codebeispielen in der Dokumentation
Weitere Ressourcen
API-Referenz (SQL Server-Treiber für PHP)
Herstellen einer Verbindung mit dem Server