我一直在尝试使用pdo远程连接到oracle 我启用了pdo驱动程序
extension=php_pdo_odbc.dll
但是收到此错误
“SQLSTATE [HY000]:OCIEnvNlsCreate:检查字符集是否有效以及PHP是否可以访问Oracle库和NLS数据(\ text \ 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(); }
答案 0 :(得分:0)
安装ODAC / ODT的多个副本后,我遇到了同样的错误消息,因为我不知道将Visual Studio项目(Windows窗体应用程序和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.NET网站也可以连接到Oracle服务器。