亚洲欧美日韩综合系列在线_91精品人妻一区二区_欧美大肥婆一级特大AA片_九色91视频免费观看_亚洲综合国产精品_av中文字幕在线不卡_久久精品色综合网_看黄色视频的软件_无卡无码高清中文字幕码2024_亚洲欧美日韩天堂网

thinkphp5連接oracle數(shù)據(jù)庫

來源:xlelou 發(fā)布時間:2018-11-23 15:26:24 閱讀量:1301

根據(jù)目前thinkphp開發(fā)多數(shù)使用的是mysqsl數(shù)據(jù)庫,很少有使用oracle數(shù)據(jù)庫的,目前有需求需要使用oracle數(shù)據(jù)庫。

通過查閱別人的博客,踩了很多坑終于找到一個可以鏈接oralce數(shù)據(jù)庫的方法。

需要使用到think-oracle。


首先需要下載oracle客戶端,然后配置oci,修改php.ini文件。

1

1,Oracle官方網(wǎng)站下載安裝Oracle客戶端。

下載地址:


http://www.oracle.com/technetwork/cn/database/features/instant-client/index-097480.html

1

選擇一個合適的版本,下載,**然后將解壓后的目錄添加到系統(tǒng)變量(重要)**

2,下載PHP 擴展Oracle客戶端 DLL鏈接文件。


http://pecl.php.net/package/oci8 選擇DLL下載;

1

將下載的文件接下dll 文件到 PHP的DLL擴展目錄

3,php.ini 配置文件中開啟 Oracle連接擴展。


extension=php_pdo_oci.dll

extension=php_oci8.dll   

1

2

打開phpinfo查看是否有oci8的相關信息,如果有則說明 開啟拓展成功了,沒有的話,需要自己費點時間看一下原因

二、下載ThinkPHP Oracle數(shù)據(jù)庫擴展驅(qū)動類;

1,Oracle數(shù)據(jù)庫擴展驅(qū)動類下載地址。


https://github.com/top-think/think-oracle

1

這里特別說明一下,5.0版本的請下載v1.*版本的think-oracle,5.1版本的請下載v2.*版本的think-oracle,不然會出現(xiàn)兼容性問題


將下載好的文件解壓,會得到src目錄下的兩個文件,Builder.php和Connection.php,(這里我以5.0版本為例,我下載的是v1.3版本的)


(1)將Builder.php和Connection.php分別放到:\thinkphp\library\think\db對應的builder和connector目錄并都改名為Oracle.php;


(2)修改builder目錄下的Oracle.php文件,如下:


namespace think\oracle;


use think\db\Builder as BaseBuilder;

use think\db\Query;


/**

 * Oracle數(shù)據(jù)庫驅(qū)動

 */

class Builder extends BaseBuilder

1

2

3

4

5

6

7

8

9

改為


namespace think\db\builder;


use think\db\Builder;

use think\Exception;


/**

 * Oracle數(shù)據(jù)庫驅(qū)動

 */

class Oracle extends Builder

1

2

3

4

5

6

7

8

9

(3)修改connector目錄下的Oracle.php文件,如下:


namespace think\oracle;


use PDO;

use think\db\Connection as BaseConnection;


/**

 * Oracle數(shù)據(jù)庫驅(qū)動

 */

class Connection extends BaseConnection

1

2

3

4

5

6

7

8

9

改為


namespace think\db\connector;


use PDO;

use think\db\Connection;

use think\Log;

/**

 * Oracle數(shù)據(jù)庫驅(qū)動

 */

class Oracle extends Connection

1

2

3

4

5

6

7

8

9

(4)配置Oracle連接參數(shù),如下:


return [

    // 數(shù)據(jù)庫類型

    'type'            => 'oracle',

    // 服務器地址

    'hostname'        => '127.0.0.1',

    // 數(shù)據(jù)庫名

    'database'        => 'orcl',

    // 用戶名

    'username'        => 'test',

    // 密碼

    'password'        => '你的Oracle數(shù)據(jù)庫密碼',

    // 端口

    'hostport'        => '1521',

    // 連接dsn

    'dsn'             => '',

    // 數(shù)據(jù)庫連接參數(shù)

    'params'          => [],

    // 數(shù)據(jù)庫編碼默認采用utf8

    'charset'         => 'utf8',

    // 數(shù)據(jù)庫表前綴

    'prefix'          => '',

    // 數(shù)據(jù)庫調(diào)試模式

    'debug'           => true,

    // 數(shù)據(jù)庫部署方式:0 集中式(單一服務器),1 分布式(主從服務器)

    'deploy'          => 0,

    // 數(shù)據(jù)庫讀寫是否分離 主從式有效

    'rw_separate'     => false,

    // 讀寫分離后 主服務器數(shù)量

    'master_num'      => 1,

    // 指定從服務器序號

    'slave_no'        => '',

    // 是否嚴格檢查字段是否存在

    'fields_strict'   => true,

    // 數(shù)據(jù)集返回類型

    'resultset_type'  => 'array',

    // 自動寫入時間戳字段

    'auto_timestamp'  => false,

    // 時間字段取出后的默認時間格式

    'datetime_format' => 'Y-m-d H:i:s',

    // 是否需要進行SQL性能分析

    'sql_explain'     => false,

];

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

后面就可以自己連接數(shù)據(jù)庫輸出數(shù)據(jù)了;

--------------------- 

作者:xlelou 

來源:CSDN 

原文:https://blog.csdn.net/xlelou/article/details/84074952 

版權(quán)聲明:本文為博主原創(chuàng)文章,轉(zhuǎn)載請附上博文鏈接!


分享:
評論:
你還沒有登錄,請先