Node 连接Oracle,Mac 安装 Oracle Inst
Oracle Instant Client 安装
1. 访问https://www.oracle.com/technetwork/topics/intel-macsoft-096467.html下载 instantclient-basic-macos.x64-12.2.0.1.0-2.zip

以下内容参考自https://oracle.github.io/odpi/doc/installation.html#macos
2. 解压下载的instantclient-basic-macos.x64-12.2.0.1.0-2.zip,
mkdir -p /opt/oracle
unzip instantclient-basic-macos.x64-12.2.0.1.0.zip
3. 添加 $HOME/lib 或者 /usr/local/lib, 使应用程序能够找到应用库
mkdir ~/lib
ln -s /opt/oracle/instantclient_12_2/libclntsh.dylib ~/lib/
4. 复制OCI库
cd /opt/oracle/
(针对Oracle 12)
cp /opt/oracle/instantclient_12_2/{libclntsh.dylib.12.1,libclntshcore.dylib.12.1,libons.dylib,libnnz12.dylib,libociei.dylib} ~/lib/
(针对Oracle 11.2)
cp /opt/oracle/instantclient_11_2/{libclntsh.dylib.11.1,libnnz11.dylib,libociei.dylib} ~/lib/
5. 如果使用自己配置的Oracle文件,如 tnsnames.ora, sqlnet.ora or oraaccess.xml,则创建一个network/admin子目录。(不存在的情况下需要创建)
mkdir -p /opt/oracle/instantclient_12_2/network/admin
6. 在Node js 中的使用:
6.1 进入node应用目录,并安装oracledb
npm install --save oracledb
6.2 定义DB信息并连接数据库
const oracledb = require("oracledb");
var oraConfig = {
user:'username', //用户名
password:'password', //密码
connectString : "IP:PORT/Servername",
};
oracledb.getConnection(oraConfig, function(err, connection) {
if (err) {
console.log("Fail to connect oracle:", err);
return;
}
var sql = "SELECT * from table where FULL_NAME=:name";
connection.execute(sql, ["name"], function(
err,
result
) {
if (err) {
console.error(err.message);
return;
}
console.log(result);
});
});
