0

Windows マシンで php (xampp) を使用して db2 に接続しようとしていますが、次のエラーがスローされます。

SQLSTATE[IM002] SQLDriverConnect: 0 [Microsoft][ODBC Driver Manager] データ ソース名が見つからず、既定のドライバーが指定されていません

私の機能は次のとおりです。

 function dbConnect($host, $database, $username, $password)
    {
        try 
        {
            $con = new PDO("odbc:host=$host;dbname=$database", $username, $password);
            $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);   

            return true;            
        } 
        catch(PDOException $e) 
        {
            return $e->getMessage();
        }
    }

私のphp_infoが次のようになっていることに注意してください:

ここに画像の説明を入力

ちなみに、私はドライバーをダウンロード/インストールしていません。私の仮定では、php.ini で (extension=php_pdo_odbc.dll) を有効にすることで、アクセスできるはずです。

4

1 に答える 1

0

Windows では、 PHP マニュアルに記載されているように、追加のドライバーをダウンロードする必要はありません。

マニュアルの関連部分は次のとおりです。

Windows では、PDO_ODBC はデフォルトで PHP コアに組み込まれています。これは Windows ODBC Driver Manager に対してリンクされているため、PHP はシステム DSN としてカタログ化された任意のデータベースに接続でき、Microsoft SQL Server データベースに接続するための推奨ドライバーです。

そのため、システム DSN を DB2 に定義し (DB2 用の ODBC ドライバーがまだない場合は、このセットアップに必要になる場合があります)、次のように PDO をインスタンス化する必要があります。

// Replace SYSTEM_DSN_NAME with appropriate name you setup
$con = new PDO("odbc:SYSTEM_DSN_NAME", $username, $password); 
于 2013-09-03T06:00:13.213 に答える