淘先锋技术网

首页 1 2 3 4 5 6 7
    今天我们来谈谈Node.js Oracle。在Node.js中,我们可以通过使用oracledb模块来连接Oracle数据库。oracledb模块支持Oracle 10g及以上数据库版本,支持异步和同步API。下面我为大家演示一下如何使用Node.js来连接Oracle数据库。     首先,我们需要在本地安装Oracle客户端,并确保在Node.js中使用oracledb模块时,能找到相关的头文件和库文件。其中,头文件需要手动配置,可以通过以下命令来安装oracledb模块:
npm install oracledb
    接下来,我们来看一下oracledb模块中的一些核心API。     1. 连接数据库:
const oracledb = require('oracledb');
oracledb.getConnection(
{
user          : "hr",
password      : "welcome",
connectString : "localhost/orclpdb1"
},
function(err, connection) {
if (err) {
console.error(err.message);
return;
}
console.log('Connection was successful!');
connection.close(
function(err) {
if (err) {
console.error(err.message);
return;
}
});
});
    上面的代码用于连接数据库,其中需要填写连接数据库的用户名、密码以及连接字符串。如果连接成功,就会输出“Connection was successful!”的信息,否则会输出错误信息。     2. 执行SQL语句:
const oracledb = require('oracledb');
oracledb.getConnection(
{
user          : "hr",
password      : "welcome",
connectString : "localhost/orclpdb1"
},
function(err, connection) {
if (err) {
console.error(err.message);
return;
}
connection.execute(
"SELECT first_name, last_name " +
"FROM employees " +
"WHERE department_id = :id",
[60],
function(err, result) {
if (err) {
console.error(err.message);
return;
}
console.log(result.rows);
connection.close(
function(err) {
if (err) {
console.error(err.message);
return;
}
});
});
});
    上面的代码用于执行SQL语句,其中需要填写SQL语句以及查询参数。如果查询成功,就会输出查询结果,否则会输出错误信息。     3. 多行执行SQL语句:
const oracledb = require('oracledb');
oracledb.getConnection(
{
user          : "hr",
password      : "welcome",
connectString : "localhost/orclpdb1"
},
function(err, connection) {
if (err) {
console.error(err.message);
return;
}
connection.execute(
"BEGIN " +
"  INSERT INTO employees (employee_id, first_name, last_name, email, hire_date, job_id) " +
"  VALUES (:id1, :name1, :name2, :email, SYSDATE, 'IT_PROG'); " +
"  INSERT INTO employees (employee_id, first_name, last_name, email, hire_date, job_id) " +
"  VALUES (:id2, :name3, :name4, :email, SYSDATE, 'IT_PROG'); " +
"END;",
{
id1: 7777,
name1: 'Tom',
name2: 'Smith',
id2: 8888,
name3: 'John',
name4: 'Doe',
email: 'test@example.com'
},
{ autoCommit: true },
function(err, result) {
if (err) {
console.error(err.message);
return;
}
console.log('Rows inserted: ' + result.rowsAffected);
connection.close(
function(err) {
if (err) {
console.error(err.message);
return;
}
});
});
});
    上面的代码用于执行多行SQL语句,其中需要填写SQL语句以及查询参数。如果插入成功,就会输出插入行数,否则会输出错误信息。     总之,使用Node.js连接Oracle数据库需要掌握oracledb模块的API,以及正确配置本地环境。本文所展示的API只是冰山一角,Node.js连接Oracle数据库还有更多的API和用法,读者可自行探索。