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

简介: 首先确定你的PHP已经支持oracle数据库的链接。PHP需要安装OCI8扩展。确定PHP可以链接ORACLE数据库之后。我们使用composer安装laravel支持oracle链接的插件 yajra/laravel-oci8欢迎访问个人博客 guanchao.site欢迎访问我的小程序:打开微信->发现->小程序->搜索“时间里的”一:使用composer安装 yajra/laravel-oci81 :运行如下命令:bash复制代码composer require yajra/laravel-oci82 :安装过程中可能会报错,不要纠结那些报错,最简单的解决办法:

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

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

欢迎访问个人博客 guanchao.site

欢迎访问我的小程序:打开微信->发现->小程序->搜索“时间里的”

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

1:运行如下命令:

bash

复制代码

composer require yajra/laravel-oci8

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

试试

arduino

复制代码

php artisan cache:clear

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

二:配置laravel使用oracle数据库

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

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

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

但是我这里就不需要了。

增加如下:

dart

复制代码

'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

github.com/yajra/larav…

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

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

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

ini

复制代码

use YajraOci8ConnectorsOracleConnector;
use YajraOci8Oci8Connection;

(3):createConnector函数:

添加如下代码:

arduino

复制代码

case 'oracle':
                return new OracleConnector;

如下图所示:

image.png

(4):createConnector函数:

添加如下代码:

bash

复制代码

case 'oracle':
                return new Oci8Connection($connection, $database, $prefix, $config);

如下图所示:

image.png

3修改config/app.php\

在providers里面增加

arduino

复制代码

YajraOci8Oci8ServiceProvider::class,

4修改processInsertGetId函数\

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

ruby

复制代码

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

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

三:测试

ini

复制代码

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

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

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

欢迎访问个人博客 guanchao.site

欢迎访问我的小程序:打开微信->发现->小程序->搜索“时间里的”

目录
相关文章
|
6天前
|
Oracle 关系型数据库 数据库
Oracle数据恢复—异常断电导致Oracle数据库数据丢失的数据恢复案例
Oracle数据库故障: 机房异常断电后,Oracle数据库启库报错:“system01.dbf需要更多的恢复来保持一致性,数据库无法打开”。数据库没有备份,归档日志不连续。用户方提供了Oracle数据库的在线文件,需要恢复zxfg用户的数据。 Oracle数据库恢复方案: 检测数据库故障;尝试挂起并修复数据库;解析数据文件。
|
6天前
|
Oracle NoSQL 关系型数据库
主流数据库对比:MySQL、PostgreSQL、Oracle和Redis的优缺点分析
主流数据库对比:MySQL、PostgreSQL、Oracle和Redis的优缺点分析
17 2
|
8天前
|
关系型数据库 MySQL 数据库
6-2|测试连接数据库的命令
6-2|测试连接数据库的命令
|
9天前
|
SQL 关系型数据库 MySQL
ThinkPHP6 连接使用数据库,增删改查,find,select,save,insert,insertAll,insertGetId,delete,update方法的用法
本文介绍了在ThinkPHP6框架中如何连接和使用数据库进行增删改查操作。内容包括配置数据库连接信息、使用Db类进行原生MySQL查询、find方法查询单个数据、select方法查询数据集、save方法添加数据、insertAll方法批量添加数据、insertGetId方法添加数据并返回自增主键、delete方法删除数据和update方法更新数据。此外,还说明了如何通过数据库配置文件进行数据库连接信息的配置,并强调了在使用Db类时需要先将其引入。
ThinkPHP6 连接使用数据库,增删改查,find,select,save,insert,insertAll,insertGetId,delete,update方法的用法
|
9天前
|
SQL 关系型数据库 数据库连接
php连接数据库之PDO,PDO的简单使用和预定义占位符的使用以及PDOStatement对象的使用,占位符的不同形式,bindValue和bindParam绑定预定义占位符参数的区别
本文介绍了PHP中PDO(PHP Data Objects)扩展的基本概念和使用方法。内容包括PDO类和PDOStatement类的介绍,PDO的简单使用,预定义占位符的使用方法,以及PDOStatement对象的使用。文章还讨论了绑定预定义占位符参数的不同形式,即bindValue和bindParam的区别。通过具体示例,展示了如何使用PDO进行数据库连接、数据查询、数据插入等操作。
php连接数据库之PDO,PDO的简单使用和预定义占位符的使用以及PDOStatement对象的使用,占位符的不同形式,bindValue和bindParam绑定预定义占位符参数的区别
|
9天前
|
SQL 关系型数据库 MySQL
php学习笔记-连接操作mysq数据库(基础)-day08
本文介绍了PHP中连接操作MySQL数据库的常用函数,包括连接服务器、设置字符集、关闭连接、选择数据库、结果集释放、获取影响行数以及遍历结果集等操作。通过书籍查询的实例演示了如何使用这些函数进行数据库操作,并提供了一个PHP操纵MySQL数据库的模板。
php学习笔记-连接操作mysq数据库(基础)-day08
|
9天前
|
SQL Oracle 关系型数据库
Oracle数据库管理:从入门到精通
表(Table):表是Oracle数据库中存储数据的基本结构单元,由行(Row)和列(Column)组成。每行代表一个记录,每列代表一个字段。 SQL(Structured Query Language):SQL是Oracle数据库的核心语言,用于与数据库交互,执行查询、插入、更新和删除等操作。 数据库实例与数据库:在Oracle中,数据库实例是一组后台进程和内存结构,用于管理数据库并提供服务。而数据库则是数据的物理存储,包括数据文件、控制文件、联机日志和参数文件等。
31 0
|
运维 关系型数据库
Oracle-08:连接查询
------------吾亦无他,唯手熟尔,谦卑若愚,好学若饥-------------   首先提供数据库脚本,供测试使用 create table DEPT ( deptno NUMBER(2) not null, dname VARCHAR2(20), ...
947 0
|
SQL Oracle 关系型数据库

推荐镜像

更多
下一篇
无影云桌面