[Database, JavaScript] Introducing node-oracledb - a Node.js driver for Oracle Database

原文はこちら。
https://blogs.oracle.com/opal/entry/introducing_node_oracledb_a_node

Oracle Database用のNode.jsドライバを開発中であると、Oracle OpenWorldの多くの熱狂的な参加者に対して発表しましたが、ようやく、node-oracledbをGitHubにプッシュしたことをご紹介できるようになりました。
Oracle Database driver for Node.js
https://github.com/oracle/node-oracledb
Node.jsは、サーバーサイドのネットワークアプリケーションをJavaScriptで作成するための、オープンソースで提供されているクロスプラットフォーム実行環境です。

What is node-oracledb?

node-oracledbドライバは、Node.jsアプリケーションを高速かつ機能的にするために、Oracle Databaseに接続します。node-oracledb 0.2ドライバのプレビューリリースでは、既に以下の機能をサポートしています。
Node-oracledbはOracleがメンテナンスするオープンソースプロジェクトで、Apache 2.0ライセンスの下でご利用いただけます。The Oracle Contributor Agreementに従ってコントリビュートいただけます。
The Oracle Contributor Agreement
http://www.oracle.com/technetwork/community/oca-486395.html

Where can I get node-oracledb?

To install node-oracledbをインストールするためには、リポジトリを複製し、無償のOracle Instant Clientをインストールします。(もしくは、Oracle Database Express EditionのようなOracle Databaseを利用します)。その後、npmを使って複製したディレクトリからインストールします。
Oracle Database driver for Node.js
https://github.com/oracle/node-oracledb/
Instant Client Downloads
http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html
Oracle Database Express Edition
http://www.oracle.com/technetwork/database/database-technologies/express-edition/overview/index.html
手順書には、ローカルのNode.jsインスタンスの作成方法やその他の詳細情報が記載されています。ドライバは現在GitHub上にのみあります。
Installing node-oracledb
https://github.com/oracle/node-oracledb/blob/master/INSTALL.md
ドライバはOracle Databaseのクライアントライブラリを使用しています。他のCベースのスクリプティング言語用のOracle Databaseドライバと同様です。つまり、そうしたライブラリに対してこれまで投資してきた重要な機能セット、開発、テストを利用できる、ということです。また、Node.jsアプリケーションが、Oracleの標準クライアントーサーバ間のバージョン互換性に従い、複数の異なるOracle Databaseのバージョンと会話できるのです。
node-oracledbドライバはOracle Linux、OS X、Solarisでビルドします。現在Oracle Linux 6上でのテストに注力しています。Windowsのサポートは難しくないはずですが、まだ対応していません。

How do I use node-oracledb?

簡単なクエリの例をご紹介しましょう。
var oracledb = require('oracledb');

oracledb.getConnection(
  {
    user          : "hr",
    password      : "welcome",
    connectString : "localhost/XE"
  },
  function(err, connection)
  {
    if (err) { console.error(err); return; }
    connection.execute(
      "SELECT department_id, department_name "
    + "FROM departments "
    + "WHERE department_id < 70 "
    + "ORDER BY department_id",
      function(err, result)
      {
        if (err) { console.error(err); return; }
        console.log(result.rows);
      });
  });
Oracle DatabaseのHRスキーマを使った出力結果は以下の通りです。
$ node select.js
[ [ 10, 'Administration' ],
  [ 20, 'Marketing' ],
  [ 30, 'Purchasing' ],
  [ 40, 'Human Resources' ],
  [ 50, 'Shipping' ],
  [ 60, 'IT' ] ]
examplesディレクトリやAPI Documentationにはたくさんのサンプルがあります。
examples
https://github.com/oracle/node-oracledb/tree/master/examples
node-oracledb: API Documentation for the Oracle Database Node.js Driver
https://github.com/oracle/node-oracledb/blob/master/doc/api.md

What is the future for node-oracledb?

Windowsプラットフォームのサポート、LOBのサポート、大規模な問い合わせ結果セットのバッチフェッチンングやストリーミングのサポート、DRCPのサポートを含め、node-oracledbへの機能追加を積極的に実施しています。
データベース常駐接続プール(Database Resident Connection Pool / DRCP)
(英語)
http://docs.oracle.com/database/121/ADFNS/adfns_perf_scale.htm#ADFNS228
(日本語)
http://docs.oracle.com/cd/E57425_01/121/ADFNS/adfns_perf_scale.htm#ADFNS228
また、標準のnpmインストールコンポーネントとしてnpmjs.comで利用できるよう、またテストスィートを公開できるように現在作業中です。
みなさまからの建設的なフィードバックをお待ちしています。Release 1.0にすべての修正と、「必須アイテム」を組み込むことができるようにしたいと考えています。
ドライバの開発が進むにつれ、詳細をお伝えできると思っています。同僚のDan McGhanも、jsao.ioでJavaScriptとOracle Databaseについて情報提供していきますのでお楽しみに。
JavaScript and Oracle
https://jsao.io/

node-oracledb Links

0 件のコメント:

コメントを投稿