Heim  >  Artikel  >  Backend-Entwicklung  >  Wie verbinde ich PHP über PDO ODBC mit MSSQL?

Wie verbinde ich PHP über PDO ODBC mit MSSQL?

Patricia Arquette
Patricia ArquetteOriginal
2024-11-07 03:14:02743Durchsuche

How to Connect PHP to MSSQL via PDO ODBC?

PHP mit MSSQL über PDO ODBC verbinden

Frage:

Obwohl ODBC als Treiber verfügbar ist, wird versucht, eine Verbindung herzustellen eine Verbindung mit new PDO("odbc:..." ergibt keine Antwort, die Ausführung hängt. Wie kann PHP erfolgreich mit einer MSSQL-Datenbank verbunden werden über PDO ODBC?

Antwort:

Das Verbinden von PHP mit MSSQL über PDO ODBC erfordert die ordnungsgemäße Konfiguration mehrerer Dateien:

Konfigurationsdateien:

  • /etc/odbc.ini: Verbindungsdetails definieren, einschließlich Datenbankname, Servername und TDS-Version.
  • /etc/odbcinst.ini: Geben Sie den Speicherort des Free TDS-Treibers an.
  • /etc/freetds/freetds.conf: Definieren Sie den Datenquellenname (DSN) und Verbindungsparameter (Host, Port, TDS-Version).

Spezifisch Konfiguration:

**[odbc.ini]**
[mssql]
Description             = MSSQL Server
Driver                  = freetds
Database                = XXXXXX
ServerName              = MSSQL
TDS_Version             = 7.1

**[odbcinst.ini]**
[freetds]
Description = MS SQL database access with Free TDS
Driver      = /usr/lib/i386-linux-gnu/odbc/libtdsodbc.so

**[freetds.conf]**
[mssql]
host = XXXXXX
port = 1433
tds version = 7.1

Apache und PHP-Code neu starten:

Führen Sie service apache2 restart aus, um Apache neu zu starten.

Erstellen Sie das PDO-Objekt als folgt:

$pdo = new PDO("dblib:host=mssql;dbname=$dbname", "$dbuser","$dbpwd");

Hinweis:

  • Passen Sie die TDS-Version in /etc/freetds/freetds.conf basierend auf der MSSQL-Version an.
  • Verwenden Sie bei Bedarf das Domänen-/Benutzernamenformat für den Benutzernamen.
  • Überprüfen Sie die erfolgreiche Verbindung durch Suche nach „freetds“ und einem „mssql“-Abschnitt in phpinfo().

Das obige ist der detaillierte Inhalt vonWie verbinde ich PHP über PDO ODBC mit MSSQL?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn