JavaScript连接Oracle:实现数据库访问的简单方法
随着Web应用的不断发展,对数据存取的需求也越来越多。其中,访问Oracle数据库是一个比较常见的需求。本文将介绍如何使用JavaScript连接Oracle数据库,实现简单的数据库访问。
一、Oracle数据库连接配置
在开始之前,我们需要进行一些数据库连接的配置。推荐使用Node.js操作数据库,因为它提供了一些非常良好的模块和库。这里,我们将使用node-oracledb模块,这是一个面向Oracle数据库的、易于使用的node.js驱动程序。
安装node-oracledb模块:
npm install oracledb
在创建Oracle连接之前,我们需要先创建一个Oracle账号,并授权该账号可以远程连接到Oracle数据库。具体步骤如下:
1. 创建Oracle账号
在Oracle数据库中创建一个账号,比如“test”,并设置密码为“123456”。
2. 授权账号
在Oracle数据库中,运行以下SQL语句:
GRANT CONNECT, RESOURCE, DBA TO test;
该语句将授权test账号可以通过网路连接到Oracle数据库,并且可以使用Oracle的所有对象。
3. 创建数据库连接
在JavaScript代码中,我们需要根据连接信息和认证信息创建一个连接池,每次从连接池中获取连接完成数据访问。以下是一个示例:
//引用node-oracledb模块
const oracledb = require(‘oracledb’);
// Oracle连接池配置
const poolConfig = {
user: ‘test’,
password: ‘123456’,
connectString: ‘127.0.0.1:1521/orcl’
};
// 创建连接池
const pool = awt oracledb.createPool(poolConfig);
// 从连接池中获取连接
const conn = awt pool.getConnection();
上面代码中,我们首先引入了oracledb模块,然后定义了连接池的配置信息,包括用户名、密码、连接字符串等。接着,我们使用oracledb.createPool()方法创建一个连接池,并使用pool.getConnection()方法获取一个数据库连接。
二、基本查询操作
在连接到数据库之后,我们可以执行各种CRUD操作(增删改查)。以下是一些基本的查询操作:
1. 查询所有数据
// 查询所有数据
const result = awt conn.execute(‘SELECT * from tableName’);
console.log(result.rows);
该代码会查询表tableName中的所有数据,并将结果以数组形式返回到result对象中。
2. 按条件查询数据
// 按条件查询数据
const result = awt conn.execute(‘SELECT * from tableName where id=:id’, [1]);
console.log(result.rows);
该代码将查询id=1的所有数据,并将结果以数组形式返回到result对象中。
3. 插入数据
// 插入数据
const result = awt conn.execute(‘INSERT INTO tableName(col1,col2,col3) VALUES (:col1,:col2,:col3)’, [val1,val2,val3]);
console.log(result.rowsAffected);
该代码会插入一条新数据,并将插入的记录数以数字形式返回到result对象的rowsAffected属性中。
4. 更新数据
// 更新数据
const result = awt conn.execute(‘UPDATE tableName set col1=:col1,col2=:col2 where id=:id’, [val1,val2,id]);
console.log(result.rowsAffected);
该代码会更新id=1的数据,并将更新的记录数以数字形式返回到result对象的rowsAffected属性中。
5. 删除数据
// 删除数据
const result = awt conn.execute(‘DELETE FROM tableName where id=:id’, [1]);
console.log(result.rowsAffected);
该代码会删除id=1的数据,并将删除的记录数以数字形式返回到result对象的rowsAffected属性中。
三、总结
通过本文的介绍,我们了解了如何使用node.js和node-oracledb模块建立Oracle数据库连接,并执行基本的CRUD操作。这些代码只是一个开始,你可以根据需要进一步扩展并完善代码逻辑。