none
PDO Fatal error: No ODBC error was found in ?? RRS feed

  • Frage

  • Hallo,

    ich habe in einem Server 2012 R2 PHP 7 installiert als CGI. Ich möcht eine PDO Verbindung zu einem SQL Server aufnehmen.

    Ich versuche es wie folgt:

    $conn = new PDO( "sqlsrv:server=$serverName ; Database=AdventureWorks", "", "");
    $conn->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );

    Da bekomme ich dann eine Fehlermeldung wie:

    Fatal error: No ODBC error was found in

    Mit dieser Meldung kann ich nichts anfangen. Man findet dazu auch nichts im Internet.

    Die PDO Treiber und Dlls sind im ext Verzeichnis von PHP und in der Php,ini eingebunden.

    ODBC Treiber x64 wurde auch installiert.

    Was kann ich noch schauen?

    bin für jeden Tipp dankbar.

    Gruss

    Werner

    Donnerstag, 15. Februar 2018 16:43

Alle Antworten

  • Ich vermute mal, dass hier eine ODBC-Verbindung nicht eingerichtet ist, denn einen speziellen Treiber für SQL-Server gibts du ja nicht an.

    Ich würde da noch mal ins PDO-Wiki bzgl. ODBC-Verbindungen reinschauen.

    Donnerstag, 15. Februar 2018 19:06
  • Hallo

    Ich habe die Treiber so aktiviert in der php,ini.

    extension=php_sqlsrv_7_nts_x64.dll
    extension=php_pdo_sqlsrv_7_nts_x64.dll
    Und so versuche ich zu verbinden:

    $con = new PDO( "sqlsrv:server=$serverName ; Database=MyTestDB", "myuser", "mypassword");  

    Daher bin ich etwas ratlos, was die Ursache sein kann.

    Gruss
    Werner

    Freitag, 16. Februar 2018 06:32
  • Das alleine reicht nicht:

    https://docs.microsoft.com/de-de/sql/connect/php/system-requirements-for-the-php-sql-driver

    "Die richtige Version von Microsoft ODBC Driver für SQL Server oder SQL Server Native Client muss auf dem Computer, auf dem PHP ausgeführt wird. "

    Freitag, 16. Februar 2018 08:31
  • Den habe ich doch schon installiert. Siehe Eingangsfrage:

    Die PDO Treiber und Dlls sind im ext Verzeichnis von PHP und in der Php,ini eingebunden.

    ODBC Treiber x64 wurde auch installiert.

    Freitag, 16. Februar 2018 13:52
  • Dann musst du ggf. noch eine ODBC-Verbindung mit der ODBC-64-Bit-Verwaltung mal einrichten und ausprobieren.
    Ggf. gibt es auch ein Versionsprobelem.

    In dem Link steht doch eigentlich alles.

    Freitag, 16. Februar 2018 15:05