zhegujiacheng
@zhegujiacheng

Are you sure you want to delete the question?

Leaving a resolved question undeleted may help others!

MacOSでSQLServerに接続しようとするとエラー"could not find driver"が発生し、接続できません。

解決したいこと

Microsoftのドキュメントを見ながら作業していたのですが、一番最後のインストールテストで以下のようなエラーが発生し接続ができません。

どなたか解決方法を教えていただけないでしょうか?

発生している問題・エラー

Caught PDO exception:
could not find driver
PHP Info for troubleshooting

ドライバーはインストールしています。

Warning: microsoft/mssql-release/msodbcsql17 17.8.1.1 is already installed and up-to-date.
To reinstall 17.8.1.1, run:
  brew reinstall msodbcsql17

スクリーンショット 2022-01-30 23.14.10.png

該当するソースコード

<?php
try {
    $serverName = "yourServername";
    $databaseName = "yourDatabase";
    $uid = "yourUsername";
    $pwd = "yourPassword";

    $conn = new PDO("sqlsrv:server = $serverName; Database = $databaseName;", $uid, $pwd);

    // Select Query
    $tsql = "SELECT @@Version AS SQL_VERSION";

    // Executes the query
    $stmt = $conn->query($tsql);
} catch (PDOException $exception1) {
    echo "<h1>Caught PDO exception:</h1>";
    echo $exception1->getMessage() . PHP_EOL;
    echo "<h1>PHP Info for troubleshooting</h1>";
    phpinfo();
}

?>

<h1> Success Results : </h1>

<?php
try {
    while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
        echo $row['SQL_VERSION'] . PHP_EOL;
    }
} catch (PDOException $exception2) {
    // Display errors
    echo "<h1>Caught PDO exception:</h1>";
    echo $exception2->getMessage() . PHP_EOL;
}

unset($stmt);
unset($conn);
?>

自分で試したこと

php.iniの
;extension=pdo_mysql
;extension=mysql
をコメントアウト

httpd.confの
ServerNameを 'www.example.com:8080'から'ServerName localhost:8080' に変更

参考にした記事

0

No Answers yet.

Your answer might help someone💌