laravel连接到oracle,抛出错误:Oci8.php中的Oci8Exception(第460行)

时间:2017-08-19 02:59:14

标签: laravel-5 oracle11g oci8

我需要你的帮助。 通过浏览器访问,错误如下:

in Oci8.php (line 460)
at Oci8->connect('(DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.31)(PORT = 1521)) (CONNECT_DATA =(SID = orcl)))', 'device', '123456', array(2, 2, 0, 'charset' => 'ZHS16GBK'), 'ZHS16GBK')
in Oci8.php (line 78)
at Oci8->__construct('(DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.31)(PORT = 1521)) (CONNECT_DATA =(SID = orcl)))', 'device', '123456', array(2, 2, 0, 'charset' => 'ZHS16GBK'))
in OracleConnector.php (line 204)
at OracleConnector->createConnection('(DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.31)(PORT = 1521)) (CONNECT_DATA =(SID = orcl)))', array('driver' => 'oracle', 'tns' => '', 'host' => '192.168.1.31', 'port' => '1521', 'database' => 'orcl', 'username' => 'device', 'password' => '123456', 'charset' => 'ZHS16GBK', 'prefix' => '', 'prefix_schema' => '', 'name' => 'oracle'), array(2, 2, 0, 'charset' => 'ZHS16GBK'))
in OracleConnector.php (line 35)
at OracleConnector->connect(array('driver' => 'oracle', 'tns' => '', 'host' => '192.168.1.31', 'port' => '1521', 'database' => 'orcl', 'username' => 'device', 'password' => '123456', 'charset' => 'ZHS16GBK', 'prefix' => '', 'prefix_schema' => '', 'name' => 'oracle'))
in Oci8ServiceProvider.php (line 49)

使用下面的php脚本,返回“成功连接Oracle!”

<?php
$conn = oci_connect('device', '123456', '(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.31)(PORT=1521))(CONNECT_DATA=(SID=orcl)))', 'ZHS16GBK');
if (!$conn) {
  $e = oci_error();
  print htmlentities($e['message']);
  exit;
}else {
  echo "Connect Oracle successfully!";
}
?>

我的环境:

mac pro version:10.12.6 (16G29)
php:PHP 7.1.4 (cli) (built: May  6 2017 10:02:00) ( NTS )
laravel:Laravel Framework 5.4.33
xcode:Version 8.3.3 (8E3004b)
oracle: 11g

我的.env文件

DB_CONNECTION=oracle
DB_HOST=192.168.1.31
DB_PORT=1521
DB_DATABASE=orcl
DB_USERNAME=device
DB_PASSWORD=123456
DB_TNS=
DB_CHARSET=ZHS16GBK

0 个答案:

没有答案