Wie stelle ich mit PHP8 eine ODBC-Verbindung zum SQL-Server mit Windows Authentifizierung her?

Antwort

Um mit PHP8 eine ODBC-Verbindung zu einem Microsoft SQL Server unter Verwendung der Windows-Authentifizierung (Integrated Security) herzustellen, sind folgende Schritte notwendig: ### Voraussetzungen 1. **ODBC-Treiber für SQL Server**: Stelle sicher, dass der Microsoft ODBC Driver for SQL Server auf dem Server installiert ist. [Download-Link](https://learn.microsoft.com/de-de/sql/connect/odbc/download-odbc-driver-for-sql-server) 2. **PHP ODBC-Erweiterung**: Die ODBC-Erweiterung (`php_odbc.dll`) muss in deiner `php.ini` aktiviert sein: ```ini extension=odbc ``` 3. **Webserver läuft unter einem Windows-Benutzerkonto**, das Zugriff auf den SQL Server hat (z.B. als Dienstkonto). --- ### Beispiel-Code ```php <?php $dsn = 'Driver={ODBC Driver 18 for SQL Server};Server=DEIN_SERVERNAME;Database=DEINE_DATENBANK;Trusted_Connection=Yes;'; $conn = odbc_connect($dsn, '', ''); if (!$conn) { exit("Verbindung fehlgeschlagen: " . odbc_errormsg()); } echo "Verbindung erfolgreich!"; // Beispielabfrage $sql = "SELECT @@VERSION"; $rs = odbc_exec($conn, $sql); while ($row = odbc_fetch_array($rs)) { print_r($row); } odbc_close($conn); ?> ``` --- ### Hinweise - **Trusted_Connection=Yes** sorgt für Windows-Authentifizierung. - Benutzername und Passwort bleiben leer (`'', ''`), da die Authentifizierung über das Windows-Konto erfolgt. - Der Webserver (z.B. IIS) muss unter einem Benutzer laufen, der am SQL Server berechtigt ist. - Der DSN kann auch als System-DSN in der ODBC-Verwaltung angelegt werden, dann reicht als `$dsn` der Name des DSN. --- ### Weitere Informationen - [Microsoft ODBC Driver for SQL Server – Dokumentation](https://learn.microsoft.com/de-de/sql/connect/odbc/) - [PHP: odbc_connect – Manual](https://www.php.net/manual/de/function.odbc-connect.php) --- Falls du mit Apache arbeitest, beachte, dass die Authentifizierung ggf. nicht wie erwartet funktioniert, da Apache standardmäßig als lokaler Systembenutzer läuft. In diesem Fall muss der Dienst unter einem passenden Windows-Benutzerkonto laufen.

KI fragen

Verwandte Fragen

Wie erstellt man Charts mit PHP8 und welche Programme sind am besten geeignet?

Um mit PHP8 Charts zu erstellen, gibt es verschiedene Ansätze und Tools. Hier sind die gängigsten Möglichkeiten: **1. Serverseitige Chart-Erstellung (Bildgenerierung):** Du kannst mit... [mehr]

Wie speichere ich ein Passwort in PHP8 verschlüsselt ab und lese es wieder korrekt aus?

Ein Passwort sollte **niemals** verschlüsselt und im Klartext wieder ausgelesen werden, sondern immer **gehasht** gespeichert werden. Das ist ein wichtiger Sicherheitsgrundsatz! Beim Hashen wir... [mehr]

Wie gebe ich ein Array in PHP8 am Bildschirm aus?

Um einen Array in PHP8 am Bildschirm anzuzeigen, kannst du die Funktionen print_r() oder var_dump() verwenden. Beide geben den Inhalt des Arrays lesbar aus. Beispiel mit print_r(): ```php $array = [... [mehr]

Wie stelle ich mit PHP 8 eine ODBC-Verbindung zu SQL Server mit Windows-Authentifizierung her?

Um mit PHP 8 eine ODBC-Verbindung zu einem Microsoft SQL Server unter Verwendung der Windows-Authentifizierung herzustellen, gehst du wie folgt vor: ### Voraussetzungen 1. **ODBC-Treiber für SQ... [mehr]

Wie erstelle ich in PHP8 ein zweidimensionales Array?

Ein zweidimensionales Array in PHP8 kannst du erstellen, indem du ein Array von Arrays anlegst. Hier ein einfaches Beispiel: ```php $zweidimensional = [ [1, 2, 3], [4, 5, 6], [7, 8, 9] ];... [mehr]

Wie wandle ich mit PHP8 Minuten in das Format Std:Min um?

Um eine Minutenanzahl in das Format `Std:Min` (z.B. 125 Minuten → 2:05) umzuwandeln, kannst du in PHP8 folgende Methode verwenden: ```php $minuten = 125; // Beispielwert $stunden = intdiv($minu... [mehr]

Wie blende ich in PHP8 alle Fehlermeldungen aus?

Um in einem PHP8-Script alle Fehlermeldungen auszublenden, kannst du am Anfang deines Scripts folgende Zeilen einfügen: ```php error_reporting(0); ini_set('display_errors', 0); ``` **... [mehr]