我正在使用Laravel 5.5,php 7.1.9和oracle 10g
我不知道我是否已连接到数据库,如果是,我的代码中是否存在问题?
PDOException SQLSTATE [HY000]:pdo_oci_handle_factory:同时出错 试图检索错误ORA-01804的文本 (分机\ PDO_OCI \ oci_driver.c:640)
oracledb.php
return [
'oracle' => [
'driver' => 'pdo',
'tns' => env('DB_TNS', 'XE'),
'host' => env('DB_HOST', 'GREEN-PC'),
'port' => env('DB_PORT', '1521'),
'database' => env('DB_DATABASE', 'XE'),
'username' => env('DB_USERNAME', 'esprit'),
'password' => env('DB_PASSWORD', 'esprit'),
'charset' => '',
'prefix' => '',
'quoting' => false,
],
];
在我的控制器中
public function show()
{
$res = DB::table('esp_etudiant')
->where('id_et','1630242')
->get();
print_r($res);
}
答案 0 :(得分:1)
首先,尝试连接为d = Double.parseDouble(new DecimalFormat("####.00").format(d).replace("٠", "0")
.replace("١", "1").replace("٢", "2").replace("٣", "3")
.replace("٤", "4").replace("٥", "5").replace("٦", "6")
.replace("٧", "7").replace("٨", "8").replace("٩", "9")
.replace("٫", "."));
。
SYSDBA
ORA-01804错误有多种原因:
$ sqlplus / as sysdba
$LD_LIBRARY_PATH
$ORACLE_HOME
$NLS_LANG
目录中的某些时区dat文件。对于每个Oracle版本,您应该有一个单独的$ORACLE_HOME
。如果是这种情况,那么:要做的第一件事是检查是否设置了ORA_TZFILE,如果是, 删除它并重新启动数据库和侦听器。然后Oracle将尝试 加载$ ORACLE_HOME / oracore / zoneinfo / timezlrg.dat文件。
如果由于某种原因,Oracle想要使用的文件不可用 那么这就是问题的原因。
如果文件存在,那么错误的另一个原因可能是 由于权限问题,Oracle无法加载文件。
如果以上所有内容都正确,则可能是.dat文件已损坏。
ORACLE_HOME
中文件的读取(chmod 444
)。