Php ORA-12705:无法访问NLS数据文件或指定的环境无效(ext\pdo_oci\oci_driver.c:686)
我设置了Apache和PHP,当我尝试通过PDO连接时,我收到了以下消息 我正在使用oracle 10g企业管理Php ORA-12705:无法访问NLS数据文件或指定的环境无效(ext\pdo_oci\oci_driver.c:686),php,oracle,pdo,Php,Oracle,Pdo,我设置了Apache和PHP,当我尝试通过PDO连接时,我收到了以下消息 我正在使用oracle 10g企业管理 OCISessionBegin: ORA-12705: Cannot access NLS data files or invalid environment specified (ext\pdo_oci\oci_driver.c:686) 这就是我试图建立oracle连接的方式 $tns = " (DESCRIPTION = (ADDRESS_LIST =
OCISessionBegin: ORA-12705: Cannot access NLS data files or invalid environment specified (ext\pdo_oci\oci_driver.c:686)
这就是我试图建立oracle连接的方式
$tns = "
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = COD3R-PC)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = opera)
)
)
";
try {
$conn = new PDO("oci:dbname=".$tns, 'customsearch', 'babaji');
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch(PDOException $e) {
echo 'ERROR: ' . $e->getMessage();
}
}在连接数据中,您必须添加SID和服务器,您可以保留服务名称。此外,添加putenvNLS\u LANG=.WE8ISO8859P1;在上面$tns@Daan你能更新答案吗?我的意思是,如果可能的话,请显示我在答案中所做的更改,以便我复制粘贴它。对不起,我不擅长这个语法。
putenv("NLS_LANG=.WE8ISO8859P1");
$tns = "
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = COD3R-PC)(PORT = 1521))
)
(CONNECT_DATA =
(SID = I_DONT_KNOW_YOUR_SID)
(SERVER = DEDICATED)
)
)
";
try {
$conn = new PDO("oci:dbname=".$tns, 'customsearch', 'babaji');
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch(PDOException $e) {
echo 'ERROR: ' . $e->getMessage();