2

pdo を使用して Oracle にリモートで接続しようとしています pdo ドライバーを有効にしました

extension=php_pdo_odbc.dll

しかし、このエラーが発生する

"SQLSTATE[HY000]: OCIEnvNlsCreate: 文字セットが有効であること、および PHP が Oracle ライブラリおよび NLS データにアクセスできることを確認してください (ext\pdo_oci\oci_driver.c:614)"

これが接続用の私のコードです

try {
    $dbh = new PDO("oci:dbname='My server ip'/orcl;charset=UTF-8", "my user name", "my password");

    }
catch (PDOException $e)
    {     echo $e->getMessage();     }
4

1 に答える 1

0

Visual Studio プロジェクト (Windows フォーム アプリと ASP.NET Web サイト) を Oracle データベースに接続するために必要なバージョンがわからなかったため、ODAC/ODT の複数のコピーをインストールした後、同じエラー メッセージが表示されました。最終的にこの接続の問題を修正しているときに、同じ Oracle データベースに接続する必要がある PHP/PDO Web サイトを壊してしまいました。あなたの質問と同じエラーメッセージが表示されました。すべてのODAC/ODTクライアントのインストールとOracleサーバーを確実に削除してから、Oracleサーバー(私の場合はOracle 11.2 Express 64ビット)のみを再インストールすると、再び機能しました。SQL Developer からも、PHP/PDO からも再び接続できました。その後、正しい ODAC/ODT (32 ビット Visual Studio のため 32 ビット (!) バージョン) をインストールし、Visual Studio Forms プロジェクトと ASP もインストールしました。

于 2015-07-19T10:33:39.740 に答える