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

在安装了 ODAC/ODT 的多个副本后,我收到了相同的错误消息,因为我不知道我需要什么版本才能让我的 Visual Studio 项目(Windows Forms 应用程序和 ASP.NET 网站)连接到 Oracle 数据库。在最终解决此连接问题时,我破坏了我的 PHP/PDO 网站,该网站也需要连接到同一个 Oracle 数据库。它给了我与您的问题相同的错误消息。我删除了所有 ODAC/ODT 客户端安装以及 Oracle 服务器以确保,然后我只重新安装了 Oracle 服务器(在我的情况下是 Oracle 11.2 Express 64 位)并且它再次工作。我可以从 SQL Developer 和 PHP/PDO 再次连接。之后,我安装了正确的 ODAC/ODT(32 位(!)版本,因为我的 32 位 Visual Studio),现在还安装了我的 Visual Studio Forms 项目和 ASP。

于 2015-07-19T10:33:39.740 回答