laravel框架连接Oracle,laravel5.8(十四)连接oracle数据库

首先确定你的PHP已经支持oracle数据库的链接。PHP需要安装OCI8扩展。

确定PHP可以链接ORACLE数据库之后。我们使用composer安装laravel支持oracle链接的插件 yajra/laravel-oci8

一:使用composer安装 yajra/laravel-oci8

1:运行如下命令:

composer require yajra/laravel-oci8

2:安装过程中可能会报错,不要纠结那些报错,最简单的解决办法:

试试

php artisan cache:clear

如果这不起作用,请删除你的vendor目录和composer.lock文件并重新运行composer install。

二:配置laravel使用oracle数据库

首先说明一下:我这里主要使用的是mysql数据库,oracle数据库只作为偶尔取数据使用。

1:修改在config文件夹下的database.php

如果你想默认使用oracle数据库,则需要修改:’default’ => env(‘DB_CONNECTION’, ‘oracle’),

但是我这里就不需要了。

增加如下:

‘oracle‘ => [

‘driver‘ => ‘oracle‘,

‘tns‘ => env(‘DB_TNS‘, ‘‘),

‘host‘ => env(‘DB_HOST‘, ‘10.0.101.177‘),

‘port‘ => env(‘DB_PORT‘, ‘1521‘),

‘database‘ => env(‘DB_DATABASE‘, ‘MPPAYUAT‘),

‘username‘ => env(‘DB_USERNAME‘, ‘payment‘),

‘password‘ => env(‘DB_PASSWORD‘, ‘payment‘),

‘charset‘ => env(‘DB_CHARSET‘, ‘AL32UTF8‘),

‘prefix‘ => env(‘DB_PREFIX‘, ‘‘),

‘prefix_schema‘ => env(‘DB_SCHEMA_PREFIX‘, ‘‘),

],

记得将数据改成你自己的。

具体链接数组信息请参照github

https://github.com/yajra/laravel-oci8

2:修改ConnectionFactory.php中的createConnector函数和createConnection函数

(1):文件在vendor/laravel/framework/src/illuminate/Database/Connectors/ConnectionFactory.php

(2):添加如下的命名空间引用:

use Yajra\Oci8\Connectors\OracleConnector;

use Yajra\Oci8\Oci8Connection;

(3):createConnector函数:

添加如下代码:

case ‘oracle‘:

return new OracleConnector;

如下图所示:

12d859e6608cf0c5e3e98aa0aa265e13.png

(4):createConnector函数:

添加如下代码:

case ‘oracle‘:

return new Oci8Connection($connection, $database, $prefix, $config);

如下图所示:

1468806e2a5eb7d1acdca8765adf9849.png

3:修改config/app.php

在providers里面增加

Yajra\Oci8\Oci8ServiceProvider::class,

4:修改 processInsertGetId 函数

(在vendor/yajra/laravel-oci8/src/Oci8/Query/processors/OracleProcessor.php)

$statement->bindParam($parameter, $id, PDO::PARAM_STR, 20);//PDO::PARAM_STR 主键的 数据类型

至此已完成了laravel链接oracle的所有配置支持

三:测试

$openList = DB::connection(‘oracle‘)->select("SELECT * FROM xxxxxx");

Var_dump($openList);

有结果,不报错,即成功。

原文链接:https://guanchao.site/index/article/articledetail.html?artid=qoFhpAs1J

有好的建议,,请在下方输入你的评论。

欢迎访问个人博客

https://guanchao.site

欢迎访问小程序:

c27399d2e910aa7890ba363755dd4167.png

laravel5.8(十四)连接oracle数据库

标签:param   config   l数据库   new   env   art   报错   cto   删除

本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉 本文系统来源:https://www.cnblogs.com/camellias/p/14112022.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值