thinkPHP5如何连接Oracle数据库

thinkPHP5如何从MySQL迁移到Oracle

前言

php连接到oracle的配置,本文不进行过多阐述,如有不懂,请看文章:Oracle11g客户端安装教程。本文主要的工作是探讨在thinkPHP框架下MySQL迁移到Oracle后数据库操作方法的改写,不讨论迁移细节。

数据库迁移

本文使用Navicat快速将MySQL迁移到Oracle,具体操作本文不再细述,请自行搜索相关教程。

迁移后在执行新增和删除操作时,出现问题。定位到数据库方法,发现是表的问题。

案例说明

  1. 用于测试的sql语句(mysql版本),导入后请利用navicat传输到Oracle。

    “`sql
    – phpMyAdmin SQL Dump
    – version 4.0.10.11

    http://www.phpmyadmin.net

    – 主机: 127.0.0.1:3306
    – 生成日期: 2018-07-02 21:53:02
    – 服务器版本: 5.5.54-log
    – PHP 版本: 5.6.14

    SET SQL_MODE = “NO_AUTO_VALUE_ON_ZERO”;
    SET time_zone = “+00:00”;

    /!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT /;
    /!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS /;
    /!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION /;
    /!40101 SET NAMES utf8 /;

    – 数据库: ray



– 表的结构 ray_user

CREATE TABLE IF NOT EXISTS ray_user (
user_id int(11) unsigned NOT NULL AUTO_INCREMENT,
user_name varchar(10) NOT NULL,
user_pwd varchar(40) NOT NULL,
PRIMARY KEY (user_id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=18 ;


– 转存表中的数据 ray_user

INSERT INTO ray_user (user_id, user_name, user_pwd) VALUES
(1, ‘updatename’, ‘ray’),
(2, ‘testname’, ‘testpwd’),

/!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT /;
/!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS /;
/!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION /;

“`

  1. mysql环境下的CURD操作(经简单测试后增删改查无问题)

    数据库配置database.php

    <?php
    // +----------------------------------------------------------------------
    // | ThinkPHP [ WE CAN DO IT JUST THINK ]
    // +----------------------------------------------------------------------
    // | Copyright (c) 2006~2018 http://thinkphp.cn All rights reserved.
    // +----------------------------------------------------------------------
    // | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )
    // +----------------------------------------------------------------------
    // | Author: liu21st <liu21st@gmail.com>
    // +----------------------------------------------------------------------
    
    return [
       // 数据库类型
       'type'            => 'mysql',
       // 服务器地址
       'hostname'        => '127.0.0.1',
       // 数据库名
       'database'        => 'ray',
       // 用户名
       'username'        => 'root',
       // 密码
       'password'        => '', // 你的密码
       // 端口
       'hostport'        => '3306',
       // 连接dsn
       'dsn'             => '',
       // 数据库连接参数
       'params'          => [],
       // 数据库编码默认采用utf8
       'charset'         => 'utf8',
       // 数据库表前缀
       'prefix'          => 'ray_',
       // 数据库调试模式
       'debug'           => true,
       // 数据库部署方式:0 集中式(单一服务器),1 分布式(主从服务器)
       'deploy'          => 0,
       // 数据库读写是否分离 主从式有效
       'rw_separate'     => false,
       // 读写分离后 主服务器数量
       'master_num'      => 1,
       // 指定从服务器序号
       'slave_no'        => '',
       // 是否严格检查字段是否存在
       'fields_strict'   => true,
       // 数据集返回类型
       
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值