Node.js oracledb教程之Oracle 類

Oracle類是Pool 和 Connection 類的工廠類
加載 node-oracledb 時進(jìn)行實例化
Oracledb 對象是單例模式

var oracledb = require("oracledb");

Oracledb類
一. 常量

  1. outForma
    查詢結(jié)果輸出格式
常量名 常量值 描述
oracledb.ARRAY 4001 以數(shù)組形式輸出查詢結(jié)果
oracledb.OBJECT 4002 以對象形式輸出查詢結(jié)果

默認(rèn)是是oracledb.ARRAY(更高效)
oracledb.outFormat = oracledb.ARRAY;

  1. Node-oracledb Types:
    execute()方法參數(shù) bind parameter 數(shù)據(jù)類型常量
常量名 常量值 描述
oracledb.BLOB 2007
oracledb.BUFFER 2005
oracledb.CLOB 2006
oracledb.CURSOR 2004
oracledb.DATE 2003
oracledb.DEFAULT 0
oracledb.NUMBER 2002
oracledb.STRING 2001
  1. Oracle Database Type 常量
    extended metadata 常量
常量名 常量值 描述
oracledb.DB_TYPE_BINARY_DOUBLE 101 BINARY_DOUBLE
oracledb.DB_TYPE_BINARY_FLOAT 100 BINARY_FLOAT
oracledb.DB_TYPE_BLOB 113 BLOB
oracledb.DB_TYPE_CHAR 96 CHAR
oracledb.DB_TYPE_CLOB 112 CLOB
oracledb.DB_TYPE_DATE 12 DATE
oracledb.DB_TYPE_LONG 8 LONG
oracledb.DB_TYPE_LONG_RAW 24 LONG RAW
oracledb.DB_TYPE_NCHAR 1096 NCHAR
oracledb.DB_TYPE_NCLOB 1112 NCLOB
oracledb.DB_TYPE_NUMBER 2 NUMBER or FLOAT
oracledb.DB_TYPE_NVARCHAR 1001 NVARCHAR
oracledb.DB_TYPE_RAW 23 RAW
oracledb.DB_TYPE_ROWID 104 ROWID
oracledb.DB_TYPE_TIMESTAMP 187 TIMESTAMP
oracledb.DB_TYPE_TIMESTAMP_LTZ 232 TIMESTAMP WITH LOCAL TIME ZONE
oracledb.DB_TYPE_TIMESTAMP_TZ 188 TIMESTAMP WITH TIME ZONE
oracledb.DB_TYPE_VARCHAR 1 VARCHAR2
  1. Bind Direction 常量
    適用于 execute() bindParams, queryStream() 和 executeMany() 的 bindDefs 的 dir 屬性
常量名 常量值 描述
oracledb.BIND_IN 3001 輸入數(shù)據(jù)
oracledb.BIND_INOUT 3002 即可輸入也可輸出數(shù)據(jù)
oracledb.BIND_OUT 3003 輸入數(shù)據(jù)
  1. 其它

二. 屬性
在部署時設(shè)置,必要時可在創(chuàng)建 Pool 類或者 Connection 類時重載。
這些屬性都是可讀且可修改的。
修改屬性時, 之前的 Oracle 對象不受影響, 只有修改之后 createPool() 或 getConnection() 方法創(chuàng)建的 Oracle 對象才會被影響 。

屬性名 類型 默認(rèn)值 描述
autoCommit Boolean false 執(zhí)行語句時自動commit
connectionClass String
edition String
events Boolean false 是否允許Oracle Client events 模式
extendedMetaData Boolean false 查詢結(jié)果是否包含額外的數(shù)據(jù)
externalAuth Boolean false
fetchArraySize Number 100 獲取查詢結(jié)果時,設(shè)置內(nèi)部緩沖區(qū)大小,只影響性能,不影響返回結(jié)果行數(shù)。當(dāng)結(jié)果返回很多行時,高緩沖區(qū)大小性能更佳。
fetchAsBuffer Array
fetchAsString Array 返回結(jié)果列值為String類型
maxRows Number 0(無限制) 最多返回多少行
outFormat Number oracledb.ARRAY 以數(shù)組/對象形式輸出查詢結(jié)果,詳見outFormat常量
poolIncrement Number 1
poolMax Number 4
poolMin Number 0
poolPingInterval Number
poolTimeout Number 60
Promise Promise 在方法中支持Promise
queueRequests Boolean true pool連接數(shù)超過poolMax時,新的請求放到隊列中
queueTimeout Number 60000
stmtCacheSize Number 30
version Number node-oracledb 版本(只讀)
versionString String node-oracledb 版本(只讀)
versionSuffix String node-oracledb 版本后綴(只讀)

三. 方法

  1. createPool()
    createPool(Object poolAttrs, function(Error error, Pool pool){});
    參數(shù):
  • Object poolAttrs:
    詳見上面的屬性

  • Error error:
    createPool() 成功時 error為空,失敗時 error 包含失敗的錯誤信息,
    詳見 Errors 類

  • Pool pool:
    詳見 Pool 類

  1. getConnection()
    getConnection([String poolAlias | Object connAttrs], function(Error error, Connection conn){});
    從連接緩沖池中獲取連接,或者新建獨立的連接
    對于不常用的連接,獨立連接比連接池更高效。但是,大多數(shù)情況下,推薦使用連接池。
Signature 描述 返回
getConnection() 從默認(rèn)連接池返回連接 promise
getConnection(callback) 從默認(rèn)連接池返回連接 回調(diào)函數(shù)
getConnection(poolAlias) 從特定poolAlias連接池返回連接 promise
getConnection(poolAlias, callback) 從特定poolAlias連接池返回連接 回調(diào)函數(shù)
getConnection(connAttrs) 返回獨立連接 promise
getConnection(connAttrs, callback) 返回獨立連接 回調(diào)函數(shù)

參數(shù):

  • String poolAlias

  • Object connAttrs:
    提供連接證書和配置屬性,包括:
    String connectString / String connectionString, String edition, Boolean events, externalAuth, newPassword, password, privilege, stmtCacheSize, user等

  • Error error
    詳見 Errors類

  • Connection connection
    詳見 Connection 類

  1. getPool()
    getPool([String poolAlias]);
    參數(shù):
  • String poolAlias
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語法,類相關(guān)的語法,內(nèi)部類的語法,繼承相關(guān)的語法,異常的語法,線程的語...
    子非魚_t_閱讀 34,688評論 18 399
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,554評論 19 139
  • 話說今天是《大魚海棠》上映的大日子, 一部教人等待十二年的電影,想想也是醉了~ “終于等到你還好我們沒放棄” 不論...
    陪跑閱讀 275評論 0 0
  • 線上1.0天使班60天踐行: 第7周周檢視 沒有反思的人生不值得過,用行動來改變自己的習(xí)慣,用反思的習(xí)慣來指導(dǎo)行動...
    笑Eva閱讀 267評論 0 0
  • 在線安裝 離線安裝 其他版本 啟動 啟動使用代理并指定容器網(wǎng)段 all_proxy=http://proxyser...
    helphi閱讀 1,268評論 0 0

友情鏈接更多精彩內(nèi)容