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.jsNode.jsは、サーバーサイドのネットワークアプリケーションをJavaScriptで作成するための、オープンソースで提供されているクロスプラットフォーム実行環境です。
https://github.com/oracle/node-oracledb
What is node-oracledb?
node-oracledbドライバは、Node.jsアプリケーションを高速かつ機能的にするために、Oracle Databaseに接続します。node-oracledb 0.2ドライバのプレビューリリースでは、既に以下の機能をサポートしています。- SQLおよびPL/SQLの実行
- JavaScriptオブジェクトや配列を使ったバインディング
- クエリ結果をJavaScriptオブジェクトや配列として返す
- JavaScriptとOracleのデータ型間での型変換
- トランザクション管理
- 接続プール
- 文キャッシュ
(英語)
http://docs.oracle.com/database/121/LNOCI/oci09adv.htm#i471377
(日本語)
http://docs.oracle.com/cd/E57425_01/121/LNOCI/oci09adv.htm#i471377 - クライアントキャッシュ
(英語)
http://docs.oracle.com/database/121/ADFNS/adfns_perf_scale.htm#ADFNS464
(日本語)
http://docs.oracle.com/cd/E57425_01/121/ADFNS/adfns_perf_scale.htm#ADFNS464 - End-to-Endでのトレース
(英語)
http://docs.oracle.com/database/121/TGSQL/tgsql_trace.htm#CHDBDGIJ
(日本語)
http://docs.oracle.com/cd/E57425_01/121/TGSQL/tgsql_trace.htm#CHDBDGIJ - 高可用性のための機能
- 高速アプリケーション通知(Fast Application Notification / FAN)
(英語)
http://docs.oracle.com/database/121/ADFNS/adfns_avail.htm#ADFNS538
(日本語)
http://docs.oracle.com/cd/E57425_01/121/ADFNS/adfns_avail.htm#ADFNS538 - ランタイム接続ロード・バランシング(Runtime Load Balancing / RLB)
(英語)
http://docs.oracle.com/database/121/ADFNS/adfns_perf_scale.htm#ADFNS515
(日本語)
http://docs.oracle.com/cd/E57425_01/121/ADFNS/adfns_perf_scale.htm#ADFNS515 - 透過的アプリケーション・フェイルオーバー(Transparent Application Failover / TAF)
(英語)
http://docs.oracle.com/database/121/ADFNS/adfns_avail.htm#ADFNS534
(日本語)
http://docs.oracle.com/cd/E57425_01/121/ADFNS/adfns_avail.htm#ADFNS919
- 高速アプリケーション通知(Fast Application Notification / FAN)
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手順書には、ローカルのNode.jsインスタンスの作成方法やその他の詳細情報が記載されています。ドライバは現在GitHub上にのみあります。
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
Installing node-oracledbドライバはOracle Databaseのクライアントライブラリを使用しています。他のCベースのスクリプティング言語用のOracle Databaseドライバと同様です。つまり、そうしたライブラリに対してこれまで投資してきた重要な機能セット、開発、テストを利用できる、ということです。また、Node.jsアプリケーションが、Oracleの標準クライアントーサーバ間のバージョン互換性に従い、複数の異なるOracle Databaseのバージョンと会話できるのです。
https://github.com/oracle/node-oracledb/blob/master/INSTALL.md
node-oracledbドライバはOracle Linux、OS X、Solarisでビルドします。現在Oracle Linux 6上でのテストに注力しています。Windowsのサポートは難しくないはずですが、まだ対応していません。
How do I use node-oracledb?
簡単なクエリの例をご紹介しましょう。Oracle DatabaseのHRスキーマを使った出力結果は以下の通りです。
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);
});
});
examplesディレクトリやAPI Documentationにはたくさんのサンプルがあります。
$ node
select
.js
[ [ 10,
'Administration'
],
[ 20,
'Marketing'
],
[ 30,
'Purchasing'
],
[ 40,
'Human Resources'
],
[ 50,
'Shipping'
],
[ 60,
'IT'
] ]
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)また、標準のnpmインストールコンポーネントとしてnpmjs.comで利用できるよう、またテストスィートを公開できるように現在作業中です。
(英語)
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
みなさまからの建設的なフィードバックをお待ちしています。Release 1.0にすべての修正と、「必須アイテム」を組み込むことができるようにしたいと考えています。
ドライバの開発が進むにつれ、詳細をお伝えできると思っています。同僚のDan McGhanも、jsao.ioでJavaScriptとOracle Databaseについて情報提供していきますのでお楽しみに。
JavaScript and Oracle
https://jsao.io/
node-oracledb Links
- Oracle Database driver for Node.js
https://github.com/oracle/node-oracledb - Node.js Developer Center(OTN)
http://www.oracle.com/technetwork/database/database-technologies/node_js/index.html
0 件のコメント:
コメントを投稿