Я пытался удаленно подключиться к оракулу с помощью pdo
У меня включен драйвер 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(); }
У меня было одно и то же сообщение об ошибке после того, как я установил несколько копий ODAC / ODT, потому что я не знал, какая версия мне нужна, чтобы мои проекты Visual Studio (приложение Windows Forms и веб-сайт ASP.NET) подключались к базе данных Oracle. В конце концов, исправляя эту проблему с подключением, я сломал свой сайт PHP / PDO, который также должен был подключаться к той же базе данных Oracle. Он дал мне то же сообщение об ошибке, что и в вашем вопросе.
Я удалил все установки клиента ODAC / ODT, а также сервер Oracle, чтобы быть уверенным, а затем переустановил только сервер Oracle (в моем случае Oracle 11.2 Express 64bit), и он снова заработал. Я мог подключиться снова из SQL Developer, а также через PHP / PDO. После этого я установил правильную ODAC / ODT (32-битную (!) Версию из-за моей 32-битной Visual Studio), и теперь также мой проект Visual Studio Forms И веб-сайт ASP.NET могут подключаться к серверу Oracle.
Других решений пока нет …