Security News
cURL Project and Go Security Teams Reject CVSS as Broken
cURL and Go security teams are publicly rejecting CVSS as flawed for assessing vulnerabilities and are calling for more accurate, context-aware approaches.
The oracledb npm package is a Node.js driver for Oracle Database, providing a way to connect to Oracle databases, execute SQL queries, and manage database transactions. It supports various features such as connection pooling, data types, and advanced Oracle Database features.
Connecting to Oracle Database
This code demonstrates how to establish a connection to an Oracle Database using the oracledb package. It includes error handling and ensures the connection is closed after use.
const oracledb = require('oracledb');
async function run() {
let connection;
try {
connection = await oracledb.getConnection({
user: 'your_username',
password: 'your_password',
connectString: 'localhost/XEPDB1'
});
console.log('Connection was successful!');
} catch (err) {
console.error(err);
} finally {
if (connection) {
try {
await connection.close();
} catch (err) {
console.error(err);
}
}
}
}
run();
Executing SQL Queries
This code sample shows how to execute a SQL query using the oracledb package. It retrieves rows from the 'employees' table where the department_id is 101.
const oracledb = require('oracledb');
async function run() {
let connection;
try {
connection = await oracledb.getConnection({
user: 'your_username',
password: 'your_password',
connectString: 'localhost/XEPDB1'
});
const result = await connection.execute(
`SELECT * FROM employees WHERE department_id = :id`,
[101] // bind value for :id
);
console.log(result.rows);
} catch (err) {
console.error(err);
} finally {
if (connection) {
try {
await connection.close();
} catch (err) {
console.error(err);
}
}
}
}
run();
Using Connection Pooling
This code demonstrates how to use connection pooling with the oracledb package. It creates a pool of connections, retrieves a connection from the pool, executes a query, and then closes the connection and the pool.
const oracledb = require('oracledb');
async function run() {
let pool;
try {
pool = await oracledb.createPool({
user: 'your_username',
password: 'your_password',
connectString: 'localhost/XEPDB1',
poolMin: 2,
poolMax: 10,
poolIncrement: 1
});
const connection = await pool.getConnection();
const result = await connection.execute(`SELECT * FROM employees`);
console.log(result.rows);
await connection.close();
} catch (err) {
console.error(err);
} finally {
if (pool) {
try {
await pool.close(0);
} catch (err) {
console.error(err);
}
}
}
}
run();
The mysql package is a Node.js driver for MySQL databases. It provides similar functionalities to oracledb, such as connecting to the database, executing queries, and managing transactions. However, it is specifically designed for MySQL databases and does not support Oracle-specific features.
The pg package is a Node.js driver for PostgreSQL databases. Like oracledb, it allows you to connect to the database, execute SQL queries, and manage transactions. It is tailored for PostgreSQL and includes features specific to that database system, but it does not support Oracle Database features.
The mssql package is a Node.js driver for Microsoft SQL Server. It offers functionalities similar to oracledb, such as database connections, query execution, and transaction management. It is designed for use with SQL Server and includes features specific to that database, but it does not support Oracle Database features.
The node-oracledb add-on for Node.js powers high performance Oracle Database applications.
Use node-oracledb to connect Node.js 4, 6, 8 and 9 to Oracle Database.
The add-on is stable, well documented, and has a comprehensive test suite.
The node-oracledb project is open source and maintained by Oracle Corp.
We are actively working on supporting the best Oracle Database features, and on functionality requests from users involved in the project.
See Getting Started with Node-oracledb.
See Quick Start Node-oracledb Installation.
See the examples directory. Start with examples/select1.js.
See Documentation for the Oracle Database Node.js Add-on.
Issues and questions can be raised with the node-oracledb community on GitHub.
See CHANGELOG.
To run the test suite see test/README.
Node-oracledb is an open source project. See CONTRIBUTING for details.
Oracle gratefully acknowledges the contributions to node-oracledb that have been made by the community.
Copyright (c) 2015, 2018, Oracle and/or its affiliates. All rights reserved.
You may not use the identified files except in compliance with the Apache License, Version 2.0 (the "License.")
You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0. Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and limitations under the License.
FAQs
A Node.js module for Oracle Database access from JavaScript and TypeScript
The npm package oracledb receives a total of 193,641 weekly downloads. As such, oracledb popularity was classified as popular.
We found that oracledb demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 0 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
cURL and Go security teams are publicly rejecting CVSS as flawed for assessing vulnerabilities and are calling for more accurate, context-aware approaches.
Security News
Bun 1.2 enhances its JavaScript runtime with 90% Node.js compatibility, built-in S3 and Postgres support, HTML Imports, and faster, cloud-first performance.
Security News
Biden's executive order pushes for AI-driven cybersecurity, software supply chain transparency, and stronger protections for federal and open source systems.