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;
如下图所示:
(4):createConnector函数:
添加如下代码:
case ‘oracle‘:
return new Oci8Connection($connection, $database, $prefix, $config);
如下图所示:
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
欢迎访问小程序:
laravel5.8(十四)连接oracle数据库
标签:param config l数据库 new env art 报错 cto 删除
本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉 本文系统来源:https://www.cnblogs.com/camellias/p/14112022.html
laravel框架连接Oracle,laravel5.8(十四)连接oracle数据库相关推荐
- Oracle入门(十四)之PL/SQL
一.PL/SQL 基本语法 PL/SQL语言是模块式的过程化SQL,是oracle公司对SQL的扩展. (1) (2) (3) (5) (6) (7)数据类型 Number 数字型 Varchar2 ...
- Oracle入门(十四.2)之PL / SQL的好处
一.PL / SQL的好处 在Oracle数据库中使用PL / SQL编程语言有很多好处. 1.将过程构造与SQL集成 2.模块化程序开发 3.改进的性能 4.与Oracle工具集成 5.便携性 6. ...
- Oracle学习(十六)Oracle安装
为了本地创建数据库自己玩耍,还是下个Oracle的客户端吧... 一.下载地址 注意,要用Oracle的帐号进行登录后才能下载 http://download.oracle.com/otn/nt/or ...
- Oracle 学习笔记(四) Oracle表空间和数据文件
tablespace是oracle的逻辑结构,datafile是oracle的物理结构. tablespace由datafile组成. tablespace 分为: permanent tablesp ...
- Oracle入门(十四.10)之显式游标简介
一.上下文区域和游标 Oracle服务器分配一个称为上下文区域的私有内存区域来存储由SQL语句处理的数据. 每个上下文区域(因此每个SQL语句)都有一个与其关联的游标.您可以将游标视为上下文区域的标签 ...
- Oracle入门(十四.3)之创建PL / SQL块
一.PL / SQL块结构 一个PL / SQL块由三部分组成. PL / SQL块结构部分 二.PL / SQL编译器 用高级编程语言(C,Java,PL / SQL等)编写的每个程序都必须经过检查 ...
- Oracle入门(十四C)之转换函数
一.数据转换类型 为数据库创建表时,SQL 程序员必须定义在表的各个字段中存储何种数据.在 SQL 中,有几种不同的数据类型.这些数据类型用于定义每个列中可以包含的值的范围. (1)在本文中将使用以下 ...
- 二十四、oracle pl/sql 变量
一.变量介绍 在编写pl/sql程序时,可以定义变量和常量:在pl/sql程序中包括有: 1).标量类型(scalar) 2).复合类型(composite) --用于操作单条记录 3).参照类型(r ...
- Oracle笔记(十四) 用户管理
SQL语句分为三类:DML.DDL.DCL,之前已经讲解完了DML和DDL,现在就差DCL操作的,DCL主要表示的是数据库的控制语句,控制的就是操作权限,而在DCL之中,主要有两个语法:GRANT.R ...
- Oracle入门(十四.22)之创建DDL和数据库事件触发器
一.什么是DDL和数据库事件触发器? DDL语句触发DDL触发器:CREATE,ALTER或DROP. 数据库事件触发器由数据库中的非SQL事件触发,例如: •用户连接到数据库或与数据库断开连接. • ...
最新文章
- 2022-2028年中国铁路机车行业投资分析及前景预测报告
- 深度盘点Python11个主流框架:Pandas、Django、Matplotlib、Numpy、PyTorch......
- Android深度探索(卷1)HAL与驱动开发读后感---第四章
- LeetCode OJ -Happy Number
- Git的配置SSHKey
- 如何在Kubernetes里给PostgreSQL创建secret
- kettle变量(param命名参数)
- Java 捕获 mybatis异常_3 springboot集成mybatis和全局异常捕获
- linux 脚本 变量为空,Shell判断一个变量是否为空
- c语言中static使用方法
- C#中xml序列化域反序列化
- (转)常见LCD接口
- 用友NC63 医药行业 消耗汇总 出库单批次模糊查询
- Eplan教程——如何使用项目检查功能
- 我们算了笔账,月薪过万可能还不配结婚!
- 遗传算法(四)——交叉、变异与替换
- 周子明:大道无疆,“驰”之以恒,在数字化时代纵横驰骋
- 什么是代理IP?怎么在浏览器中配置代理IP?
- Service Mesh对比:Istio与Linkerd
- 电磁兼容工程(Electromagnetic compatibility engineering Herry Ott )读书笔记--章12 数字电路的辐射