Node.js oracledb教程之Oracle 类

2018-09-08  本文已影响0人  攸凝渊

Oracle类是Pool 和 Connection 类的工厂类
加载 node-oracledb 时进行实例化
Oracledb 对象是单例模式

var oracledb = require("oracledb");

Oracledb类
一. 常量

  1. outForma
    查询结果输出格式
常量名 常量值 描述
oracledb.ARRAY 4001 以数组形式输出查询结果
oracledb.OBJECT 4002 以对象形式输出查询结果

默认是是oracledb.ARRAY(更高效)
oracledb.outFormat = oracledb.ARRAY;

  1. Node-oracledb Types:
    execute()方法参数 bind parameter 数据类型常量
常量名 常量值 描述
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 输入数据
oracledb.BIND_INOUT 3002 即可输入也可输出数据
oracledb.BIND_OUT 3003 输入数据
  1. 其它

二. 属性
在部署时设置,必要时可在创建 Pool 类或者 Connection 类时重载。
这些属性都是可读且可修改的。
修改属性时, 之前的 Oracle 对象不受影响, 只有修改之后 createPool() 或 getConnection() 方法创建的 Oracle 对象才会被影响 。

属性名 类型 默认值 描述
autoCommit Boolean false 执行语句时自动commit
connectionClass String
edition String
events Boolean false 是否允许Oracle Client events 模式
extendedMetaData Boolean false 查询结果是否包含额外的数据
externalAuth Boolean false
fetchArraySize Number 100 获取查询结果时,设置内部缓冲区大小,只影响性能,不影响返回结果行数。当结果返回很多行时,高缓冲区大小性能更佳。
fetchAsBuffer Array
fetchAsString Array 返回结果列值为String类型
maxRows Number 0(无限制) 最多返回多少行
outFormat Number oracledb.ARRAY 以数组/对象形式输出查询结果,详见outFormat常量
poolIncrement Number 1
poolMax Number 4
poolMin Number 0
poolPingInterval Number
poolTimeout Number 60
Promise Promise 在方法中支持Promise
queueRequests Boolean true pool连接数超过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){});
    参数:
  1. getConnection()
    getConnection([String poolAlias | Object connAttrs], function(Error error, Connection conn){});
    从连接缓冲池中获取连接,或者新建独立的连接
    对于不常用的连接,独立连接比连接池更高效。但是,大多数情况下,推荐使用连接池。
Signature 描述 返回
getConnection() 从默认连接池返回连接 promise
getConnection(callback) 从默认连接池返回连接 回调函数
getConnection(poolAlias) 从特定poolAlias连接池返回连接 promise
getConnection(poolAlias, callback) 从特定poolAlias连接池返回连接 回调函数
getConnection(connAttrs) 返回独立连接 promise
getConnection(connAttrs, callback) 返回独立连接 回调函数

参数:

  1. getPool()
    getPool([String poolAlias]);
    参数:
上一篇下一篇

猜你喜欢

热点阅读