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

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

目录
相关文章
|
9天前
|
开发框架 Oracle 关系型数据库
ASP.NET实验室LIS系统源码 Oracle数据库
LIS是HIS的一个组成部分,通过与HIS的无缝连接可以共享HIS中的信息资源,使检验科能与门诊部、住院部、财务科和临床科室等全院各部门之间协同工作。 
21 4
|
3天前
|
Oracle 关系型数据库 Java
plsql链接远程Oracle数据库步骤
实际工作中,我们往往需要使用 PLSQL Develope 工具连接远程服务器上的 ORACLE 数据库进行管理,但是由于 ORACLE 安装在本地电脑步骤繁琐,并且会耗费电脑的很大一部分资源,因此,我们寻求一种不需要在本地安装 ORACLE 数据库而能直接使用 PLSQL Develope 工具连接到远程服务器 ORACLE 的方法。
15 2
|
6天前
|
数据库
【数据库】简单&连接&嵌套查询
【数据库】简单&连接&嵌套查询
13 2
|
7天前
|
关系型数据库 MySQL 分布式数据库
PolarDB for MySQL数据库外网连接解析失败的原因
【2月更文挑战第5天】PolarDB for MySQL数据库外网连接解析失败的原因
52 8
|
9天前
|
Java 数据库连接 数据库
Windows7 64位 连接Access数据库“未发现数据源名称并且未指定默认驱动程序“的解决办法
Windows7 64位 连接Access数据库“未发现数据源名称并且未指定默认驱动程序“的解决办法
|
9天前
|
Oracle 关系型数据库 数据处理
某教程学习笔记(一):10、oracle数据库注入
某教程学习笔记(一):10、oracle数据库注入
6 0
|
1天前
|
关系型数据库 MySQL 数据库
Mysql基础第三十二天,数据库维护
Mysql基础第三十二天,数据库维护
11 0
|
2天前
|
SQL 关系型数据库 MySQL
Mysql基础第三天,创建罗斯文数据库
Mysql基础第三天,创建罗斯文数据库
14 0
Mysql基础第三天,创建罗斯文数据库
|
2天前
|
SQL 存储 关系型数据库
【MySQL 数据库】11、学习 MySQL 中的【锁】
【MySQL 数据库】11、学习 MySQL 中的【锁】
15 0
|
2天前
|
存储 SQL 关系型数据库
【MySQL 数据库】10、MySQL 的触发器
【MySQL 数据库】10、MySQL 的触发器
8 0

热门文章

最新文章