The leading edge of scripting languages and Oracle Database brought to you by the Data Access Development team

Node-oracledb 2.3 with Continuous Query Notifications is on npm

Christopher Jones
Senior Principal Product Manager

Release announcement: Node-oracledb 2.3.0, the Node.js module for accessing Oracle Database, is on npm.

Top features: Continuous Query Notifications. Heterogeneous Connection Pools.



Our 2.x release series continues with some interesting improvements: Node-oracledb 2.3 is now available for your pleasure. Binaries for the usual platforms are available for Node.js 6, 8, and 10; source code is available on GitHub. We are not planning on releasing binaries for Node.js 4 or 9 due to the end of life of Node.js 4, and the release of Node.js 10.

The main new features in node-oracledb 2.3 are:

  • Support for Oracle Database Continuous Query Notifications, allowing JavaScript methods to be called when database changes are committed. This is a cool feature useful when applications want to be notified that some data in the database has been changed by anyone.

    I recently posted a demo showing CQN and Socket.IO keeping a notification area of a web page updated. Check it out.

    The new node-oracledb connection.subscribe() method is used to register a Node.js callback method, and the SQL query that you want to monitor. It has two main modes: for object-level changes, and for query-level changes. These allow you to get notifications whenever an object changes, or when the result set from the registered query would be changed, respectively. There are also a bunch of configuration options for the quality-of-service and other behaviors.

    It's worth noting that CQN requires the database to establish a connection back to your node-oracledb machine. Commonly this means that your node-oracledb machine needs a fixed IP address, but it all depends on your network setup.

    Oracle Database CQN was designed for infrequently modified tables, so make sure you test your system scalability.

  • Support for heterogeneous connection pooling and for proxy support in connection pools. This allows each connection in the pool to use different database credentials.

    Some users migrating to node-oracledb had schema architectures that made use of this connection style for data encapsulation and auditing. Note that making use of the existing clientId feature may be a better fit for new code, or code that does mid-tier authentication.

  • A Pull Request from Danilo Silva landed, making it possible for Windows users to build binaries for self-hosting. Thanks Danilo! Previously this was only possible on Linux and macOS.

  • Support for 'fetchAsString' and 'fetchInfo' to allow fetching RAW columns as hex-encoded strings.

See the CHANGELOG for the bug fixes and other changes.


Node-oracledb installation instructions are here.

Node-oracledb documentation is here.

Node-oracledb change log is here.

Issues and questions about node-oracledb can be posted on GitHub.

Finally, contributions to node-oracledb are more than welcome, see CONTRIBUTING.

Be the first to comment

Comments ( 0 )
Please enter your name.Please provide a valid email address.Please enter a comment.CAPTCHA challenge response provided was incorrect. Please try again.