准备工作
1、安装Node.js:确保已经安装了Node.js,可以通过在命令行中输入node v
来检查是否已安装以及版本号。
2、安装Oracle客户端:根据操作系统的不同,下载并安装相应的Oracle客户端,具体步骤如下:
进入官方下载地址,下载以下两个包,并安装在同一个目录(官方下载各种验证,这里提供百度云盘下载链接)。
以本机测试为例,我的安装位置(可自定义)为 /opt/oracle。
cd /opt/oracle
,然后解压下载的文件。
设置环境变量,如将以下内容添加到当前环境变量文件下:export LD_LIBRARY_PATH=/opt/oracle/instantclient:$LD_LIBRARY_PATH
,export OCI_LIB_DIR=/opt/oracle/instantclient
,export OCI_INC_DIR=/opt/oracle/instantclient/sdk/include
。
二、安装oracledb
模块
1、使用npm安装oracledb
模块,可以在命令行中输入以下命令:
npm install oracledb
连接到Oracle数据库
1、require
方法引入oracledb
模块。
const oracledb = require('oracledb');
2、配置连接信息:定义数据库的连接信息,包括用户名、密码和连接字符串。
const dbConfig = { user: 'username', password: 'password', connectString: 'hostname:port/servicename' };
3、连接到数据库:使用oracledb.getConnection()
方法连接到数据库。
oracledb.getConnection(dbConfig, (err, connection) => { if (err) { console.error(err.message); return; } // 连接成功,可以进行数据库操作 });
4、执行查询操作:连接到数据库后,可以执行各种数据库操作,如查询操作。
const sql =SELECT * FROM employees
;
connection.execute(sql, [], (err, result) => {
if (err) {
console.error(err.message);
return;
}
console.log(result.rows);
});
5、关闭连接:操作完成后,使用connection.close()
方法关闭连接。
connection.close((err) => { if (err) { console.error(err.message); return; } console.log('连接已关闭'); });
相关问题与解答
1、问题一:如何在JavaScript中使用ActiveXObject连接Oracle数据库?
答:在JavaScript中,可以使用ActiveXObject对象来连接Oracle数据库,首先创建一个ADODB.Connection对象,然后使用Open方法打开一个到数据库的连接。
var conObj = new ActiveXObject('ADODB.Connection'); var connectionString = "Provider=OraOLEDB.Oracle;Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=myHost)(PORT=myPort)))(CONNECT_DATA=(SID=mySID)(SERVER=DEDICATED)));User Id=myUser;Password=myPassword;"; conObj.Open(connectionString);
2、问题二:如何在Node.js中执行插入、更新和删除操作?
答:在Node.js中,可以使用oracledb
模块提供的connection.execute()
方法执行插入、更新和删除操作。
插入数据:
const sql =INSERT INTO employees (id, name) VALUES (:id, :name)
; const data = { id: 1, name: 'John Doe' }; connection.execute(sql, data, (err, result) => { if (err) { console.error(err.message); return; } console.log(插入了 ${result.rowsAffected} 行
); });
更新数据:
const sql =UPDATE employees SET name = :name WHERE id = :id
; const data = { id: 1, name: 'Jane Doe' }; connection.execute(sql, data, (err, result) => { if (err) { console.error(err.message); return; } console.log(更新了 ${result.rowsAffected} 行
); });
删除数据:
const sql =DELETE FROM employees WHERE id = :id
; const data = { id: 1 }; connection.execute(sql, data, (err, result) => { if (err) { console.error(err.message); return; } console.log(删除了 ${result.rowsAffected} 行
); });
原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/1084885.html
本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。
发表回复