Security News
The Push to Ban Ransom Payments Is Gaining Momentum
Ransomware costs victims an estimated $30 billion per year and has gotten so out of control that global support for banning payments is gaining momentum.
oracle
Advanced tools
Readme
Install the Oracle Instant Client:
Download the Instant Client Package: both "Basic Lite" and "SDK".
Extract both the Basic Lite and the SDK zip files to /opt/instantclient/
(Linux/OS X) or C:\oracle\instantclient\
(Windows)
or put them wherever you want and set the environment variables OCI_INCLUDE_DIR
(to the sdk/include) and OCI_LIB_DIR
(to the directory containing libocci.so.11.1 on Linux/OS X, or oraocci11.lib on Windows).
Linux: add the shared object files to the ld cache:
# Replace /opt/instantclient/ with wherever you extracted the Basic Lite files to
echo '/opt/instantclient/' | sudo tee -a /etc/ld.so.conf.d/moo.conf
sudo ldconfig
cd /opt/instantclient/
sudo ln -s libclntsh.so.11.1 libclntsh.so
sudo ln -s libocci.so.11.1 libocci.so
Finally install using Node Package Manager (npm):
npm install oracle
var oracle = require("oracle");
oracle.connect({ "hostname": "localhost", "user": "test", "password": "test" }, function(err, connection) {
// selecting rows
connection.execute("SELECT * FROM person WHERE name = :1", ['bob smith'], function(err, results) {
// results will be an array of objects
});
// inserting with return value
connection.execute(
"INSERT INTO person (name) VALUES (:1) RETURNING id INTO :2",
['joe ferner', new oracle.OutParam()],
function(err, results) {
// results.updateCount = 1
// results.returnParam = the id of the person just inserted
});
connection.setAutoCommit(true);
connection.commit(function(err) {
// transaction committed
});
connection.rollback(function(err) {
// transaction rolledback
});
connection.close(); // call this when you are done with the connection
});
The following Out Params are supported in Stored Procedures:
OCCIINT
OCCISTRING
OCCIDOUBLE
OCCIFLOAT
OCCICURSOR
OCCICLOB
OCCIDATE
OCCITIMESTAMP
OCCINUMBER
OCCIBLOB
And can be used as follows:
connection.execute("call myProc(:1,:2)", ["nodejs", new oracle.OutParam(oracle.OCCISTRING)], function(err, results){
console.dir(results);
};
When using Strings as Out Params, the size can be optionally specified as follows:
connection.execute("call myProc(:1,:2)", ["nodejs", new oracle.OutParam(oracle.OCCISTRING, {size: 1000})], function(err, results){
If no size is specified, a default size of 200 chars is used.
See tests for more examples.
The following INOUT param types are supported:
OCCIINT
OCCISTRING
OCCIDOUBLE
OCCIFLOAT
OCCINUMBER
INOUT params are used like normal OUT prams, with the optional 'in' paramater value being passed in the options object:
connection.execute("call myProc(:1)", [new oracle.OutParam(oracle.OCCIINT, {in: 42})], function(err, results){
console.dir(results);
};
sudo dpkg -i oracle-xe_11.2.0.3.0-1.0_i386.deb
sudo apt-get install alien
sudo alien oracle-instantclient11.2-*
sudo dpkg -i oracle-instantclient11.2-*.deb
sudo /etc/init.d/oracle-xe configure
sudo vi /etc/ld.so.conf.d/oracle.conf -- add this line /usr/lib/oracle/11.2/client/lib/
sudo ldconfig
export ORACLE_SID=test
export ORACLE_HOME=/usr/lib/oracle/xe/app/oracle/product/11.2/server
export OCI_INCLUDE_DIR=/usr/include/oracle/11.2/client/
export OCI_LIB_DIR=/usr/lib/oracle/11.2/client/lib/
sqlplus test@XE
npm install
npm test
FAQs
Oracle database driver
We found that oracle demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 2 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
Ransomware costs victims an estimated $30 billion per year and has gotten so out of control that global support for banning payments is gaining momentum.
Application Security
New SEC disclosure rules aim to enforce timely cyber incident reporting, but fear of job loss and inadequate resources lead to significant underreporting.
Security News
The Python Software Foundation has secured a 5-year sponsorship from Fastly that supports PSF's activities and events, most notably the security and reliability of the Python Package Index (PyPI).