php数据库框架oracle,Laravel框架连接Oracle数据库

windows

一、PHP开启oci8

1.下载 Oracle Instant Client

下载后解压到系统盘(本人解压到D盘)

设置系统环境变量并重启电脑

f11e3e91690f6b0708e327b9db90325d.png

2.下载VC_redist.x64,安装

3.配置php.ini

extension=php_oci8_12c.dll

extension=php_pdo_oci.dll

去掉分号,然后重启服务(Apache or IIS)

查看是否开启

a4dae97fd82e504424ee24025815ec02.png

二、composer 添加第三方的组件 yajra/laravel-oci8

1.换源

composer config -g repo.packagist composer https://packagist.phpcomposer.com

2.安装

composer require yajra/laravel-oci8 -vvv

三、使用第三方组件

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

修改:’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‘, ‘‘),],

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

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

2.0. ConnectionFactory类引用以下声明

useYajra\Oci8\Connectors\OracleConnector;use Yajra\Oci8\Oci8Connection;

2.1.createConnector函数:

case ‘sqlsrv‘:

return newSqlServerConnector;case ‘oracle‘:

return new OracleConnector;

2.2createConnection函数:

case ‘sqlsrv‘:

return new SqlServerConnection($connection, $database, $prefix, $config);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的支持配置

四、测试

参考:

原文:https://www.cnblogs.com/clubs/p/12568613.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值