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

Antwort vom

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.

Neue Frage stellen

Verwandte Fragen

Wie ermittele ich mit PHP8 und PDO die Anzahl der gefundenen Datensätze in einer MySQL-Datenbank?

Um mit PHP8 und PDO die Anzahl der gefundenen Datensätze in einer MySQL-Datenbank zu ermitteln, gibt es mehrere Möglichkeiten. Die gebräuchlichsten sind: ### 1. Mit `SELECT COUNT(*)` A...

Wie prüfe ich in PHP8, ob ein Datenbankwert nur aus Zahlen und Punkt besteht?

Ja, das kannst du mit PHP 8 herausfinden. Du kannst dazu reguläre Ausdrücke (Regular Expressions) verwenden. Mit der Funktion `preg_match()` prüfst du, ob ein String nur aus Ziffern und...

Kann man mit PHP8 prüfen, ob der Wert einer Datenbankspalte vom Typ float ist?

Mit PHP8 kannst du nicht direkt aus PHP heraus feststellen, ob der Wert einer Datenbankspalte vom Typ `float` ist, da PHP beim Abrufen von Daten aus einer Datenbank (z.B. mit PDO oder MySQLi) die Typi...

Wie kann ich mit PHP8 den lokalen Pfad einer mit input type="file" hochgeladenen Datei auslesen?

Aus Sicherheitsgründen überträgt der Browser beim Hochladen einer Datei mit `<input type="file">` **niemals** den vollständigen lokalen Pfad der Datei an den Server...

Wie speichere ich mit PHP8 das Datum 21.01.26 in einer MySQL DATE-Spalte?

Um das Datum **21.01.26** (vermutlich im Format **JJ.MM.TT**) in eine MySQL-Datenbank in eine Spalte vom Typ `DATE` zu speichern, musst du das Datum zuerst in das MySQL-Format **YYYY-MM-DD** umwandeln...

Wie lässt sich eine Datei mit PHP8 auf der Festplatte löschen?

Um mit PHP8 eine Datei auf der Festplatte zu löschen, kannst du die Funktion [`unlink()`](https://www.php.net/manual/de/function.unlink.php) verwenden. Hier ein einfaches Beispiel: ```php $datei...

Kann man mit PHP8 Buchstaben inkrementieren?

Ja, in PHP8 kannst du Buchstaben inkrementieren. PHP behandelt Zeichenketten, die aus Buchstaben bestehen, beim Inkrementieren ähnlich wie Zahlen. Das bedeutet, dass du z.B. mit dem Inkrement-Ope...

Wie lade ich mit PHP8 ein Bild hoch und speichere den Dateinamen in MySQL?

Um mit PHP8 ein Bild hochzuladen und den Dateinamen in einer MySQL-Datenbank zu speichern, sind folgende Schritte notwendig: **1. HTML-Formular für den Upload:** ```html <form action="up...

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...

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...