日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

TP5 连接oracle数据库

發布時間:2024/9/19 数据库 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 TP5 连接oracle数据库 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、Oracle官方網站下載安裝Oracle客戶端。

1,下載地址:
技術資源 | Oracle 中國
2,下載PHP 擴展Oracle客戶端 DLL鏈接文件。
PECL :: Package :: oci8 選擇DLL下載;
將下載的文件接下dll 文件到 PHP的DLL擴展目錄
3,php.ini配置文件中開啟Oracle連接擴展。
;extension = php_pdo_oci.dll
;extension=php_oci8.dll
去除前面的分好并重啟apache
4,打開phpinfo,查看oci8擴展是否打開

二、下載ThinkPHP Oracle數據庫擴展驅動類并使用

1,Oracle數據庫擴展驅動類下載地址。
https://github.com/top-think/think-oracle
將下載好的文件解壓,得到src目錄下的兩個文件,Builder.php和Connection.php
(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數據庫驅動 */ class Builder extends BaseBuilder 改為 namespace think\db\builder; use think\db\Builder; use think\Exception;/**Oracle數據庫驅動 */ class Oracle extends Builder (3)修改connector目錄下的Oracle.php文件,如下: namespace think\oracle; use PDO; use think\db\Connection as BaseConnection;/**Oracle數據庫驅動 */ class Connection extends BaseConnection 改為 namespace think\db\connector;use PDO; use think\db\Connection; use think\Log; /**

Oracle數據庫驅動
*/
class Oracle extends Connection
(4)開始使用,一般tp項目使用的默認數據庫mysql,而可能某個模塊需要用到oracle數據庫,所以在該模塊對應的控制器方法內配置oracle連接。如下:

$conn = [// 數據庫類型'type' => 'oracle',// 服務器地址'hostname' => 'tnsnames.ora配置文件所要連接視圖對應的HOST',// 數據庫名'database' => 'tnsnames.ora配置文件所要連接視圖對應的SERVICE_NAME',// 用戶名'username' => 'oracle數據庫的登陸賬號',// 密碼'password' => 'oracle數據庫的登陸密碼',// 端口'hostport' => 'tnsnames.ora配置文件所要連接視圖對應的PORT',// 連接dsn'dsn' => '',// 數據庫連接參數'params' => [],// 數據庫編碼默認采用utf8'charset' => 'utf8',// 數據庫表前綴'prefix' => '',// 數據庫調試模式'debug' => true,// 數據庫部署方式:0 集中式(單一服務器),1 分布式(主從服務器)'deploy' => 0,// 數據庫讀寫是否分離 主從式有效'rw_separate' => false,// 讀寫分離后 主服務器數量'master_num' => 1,// 指定從服務器序號'slave_no' => '',// 是否嚴格檢查字段是否存在'fields_strict' => true,// 數據集返回類型'resultset_type' => 'array',// 自動寫入時間戳字段'auto_timestamp' => false,// 時間字段取出后的默認時間格式'datetime_format' => 'Y-m-d H:i:s',// 是否需要進行SQL性能分析'sql_explain' => false,]; $oraAllItem = Db::connect($conn, true)->query("select fail_item,build_step from 視圖表名 t where t.product=:project and t.station_type=:station and status=1 and fail_item is not null", ['project' => $project, 'station' => $resStation[$station]]);

總結: oracle的sql語法與mysql中的語法有一些區別,不能完全按mysql中的寫法

總結

以上是生活随笔為你收集整理的TP5 连接oracle数据库的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。