【发布时间】:2014-09-16 13:54:36
【问题描述】:
我确实设置了 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 =
(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();
}
【问题讨论】:
-
在
CONNECT_DATA你必须添加SID和SERVER你可以离开SERVICE_NAME -
另外,在
$tns上方添加putenv("NLS_LANG=.WE8ISO8859P1"); -
@Daan 你能否更新答案,我的意思是如果可能的话,请显示我必须在答案中做的更改,所以我复制粘贴它。对不起,我不擅长这个语法。