这里的前提是OCI驱动已经可以连接oracle了
具体配置可以参见http://lxfamn.cn/blog/?p=3081
$conn = oci_connect('scott', 'tiger', '10.100.21.112:1521/oracdb');
if (!$conn) {
$e = oci_error();
print htmlentities($e['message']);
exit;
}else {
echo "连接oracle成功!";
}
正文
使用composer安装 yajra/laravel-oci8
注意安装对应版本的否则报错
yajra/laravel-oci8[dev-master, v9.0.0, ..., 9.x-dev] require illuminate/data
版本对应信息查看:https://packagist.org/packages/yajra/laravel-oci8
composer require yajra/laravel-oci8 8.6.2
文件在vendor/laravel/framework/src/illuminate/Database/Connectors/ConnectionFactory.php
(2):添加如下的命名空间引用:
use Yajra\Oci8\Connectors\OracleConnector;
use Yajra\Oci8\Oci8Connection;
createConnector
case 'oracle':
return new OracleConnector;
createConnection
case 'oracle':
return new Oci8Connection($connection, $database, $prefix, $config);
修改config/app.php
在providers里面增加
Yajra\Oci8\Oci8ServiceProvider::class,
修改 processInsertGetId 函数
(在vendor/yajra/laravel-oci8/src/Oci8/Query/processors/OracleProcessor.php)
$statement->bindParam($parameter, $id, PDO::PARAM_STR, 20);//PDO::PARAM_STR 主键的 数据类型
转载请注明出处:
未经允许不得转载:lxfamn » laravel连接oracle