Forum Stats

  • 3,724,506 Users
  • 2,244,773 Discussions
  • 7,851,062 Comments

Discussions

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Categories

ADB HOL #6-1 : Node.jsによるADB上でのアプリ開発

TakeshiNagakubo-Oracle
TakeshiNagakubo-Oracle Posts: 18 Employee
edited January 2020 in Social Groups

目次に戻る : チュートリアル : Oracle Cloud Infrastructure を使ってみよう

>ADBコンテンツ一覧に戻る

Node.jsはサーバサイドでJavaScript言語を実行するオープンソースの実行環境です。

node-oracledbドライバを利用することで、Autonomous Databaseに簡単に接続できます。

この章では開発言語としてNode.jsを想定し、Autonomous Databaseに対して接続する方法、およびデータベース操作を実行する方法を学びます。

尚、JavaScriptのコーディングやNode.js自体の使い方を説明するものではありません。

作業の流れ

  1. 事前準備
  2. Node.js環境の確認
  3. ADBに接続してみよう
  4. ADB上のデータを操作してみよう

所要時間 : 約20分

1. 事前準備

ネットワークセキュリティの設定変更

本章ではお手元のPCからインターネットを介して、Node.jsのアプリにポート3030で接続します(3030は変更可能)。

しかしながら、デフォルトだとセキュリティの観点でこの接続は拒否されるため、事前に外部インターネットからこの接続を受け入れるためのイングレス・ルール(インバウンド・ルール)の設定、およびNode.jsが配置される仮想マシンのOSのFirewallの設定を行います。

イングレス・ルールの設定

1.メニューからネットワーキング仮想クラウド・ネットワークを選択します。

pastedImage_1.png

2. 作成済みの仮想クラウド・ネットワーク(vcn01)を選択します。

pastedImage_2.png

3. リソースからセキュリティ・リストを選択し、Default Security List for vcn01をクリックします

pastedImage_3.png

4. イングレス・ルールの追加をクリックします。

pastedImage_16.png

5.入力ウィザードが立ち上がるので、以下の記載例を参考に各項目を入力し、イングレス・ルールの追加をクリックします。

ソースCIDR:0.0.0.0/0

IPプロトコル:TCP

ソースポート範囲:all

宛先ポート範囲:3030

pastedImage_18.png

     (パブリック・インターネット(0.0.0.0/0) からの 3030に対する接続を許可する)

Firewallの設定

1. 仮想マシンにopcユーザでログインします。ログイン方法はを参考ください。

2. rootユーザに切り替えます。

$ sudo -s

     (oracleユーザーで既にログインしている場合は、exit してください。)

     $ exit

3.  ポート番号3030を追加、設定を反映します。(successが表示されればOKです。)

# firewall-cmd --permanent --zone=public --add-port=3030/tcp# firewall-cmd --reload

上記の設定はあくまでも参考です。実際の利用に際してはセキュリティ要件を十分検討の上、設定ください。

2. Node.js環境の確認

ここではお手元のPCのブラウザでNode.jsのアプリに接続できるかを確認します。

1. ユーザをrootからoracleに切り替えます。

$ su - oracle

2. (必要に応じて)nodeとnpm(Node Package Manager)のバージョンを確認します。

$ node --version$ npm --version

3. (必要に応じて)npmコマンドを実行しプリインストールされているパッケージを確認します。

$ npm view oracledb $ npm view app $ npm view async 

     4. Hello World アプリケーションを実行し、Node.jsが問題なく利用できることを確認しましょう

4-1. ディレクトリを移動します。

$ cd ~/labs/node 

4-2. (必要に応じて)app.jsファイルの中身を確認します。アクセスしてきたクライアントに対して、Hello World を表示するという内容です。

$ cat app.js

4-3. app.jsを実行します。

$ node app.js 

4-4. ブラウザを開き、以下のURLを実行して、"Hello world" が表示されることを確認します。

http://<仮想マシンのIPアドレス>:3030

4-5. Hello World が表示されることを確認後、端末上で CTRL-C を入力しアプリを停止します。

3. ADBへの接続

次にNode.jsのアプリからADBに接続し、ADB上のデータを手元のブラウザ経由で確認します。

尚、事前にを実施し、SQL*plusで接続できていることを前提に以下を記載しています。

1.ディレクトリを移動します。

$ cd ~/labs/node

2. 接続先となるAutonomous Databaseの情報をdbconfig.jsに登録します。

 以下を記載例を参考に各項目を記載して保存ください。

$ vi dbconfig.js

               module.exports= {

                  dbuser: 'admin',

                  dbpassword: 'Welcome12345#',

                  connectString: 'atp01_tp'

                  }

3. 環境変数を設定します。

$ export TNS_ADMIN=/home/oracle/labs/wallets

4. (必要に応じて)connectadb.jsファイルの中身を確認します。ADBへの接続を生成し、接続の生成可否を画面に表示するという内容です。

$ cat connectadb.js

5. connectadb.jsを実行します。

$ node connectadb.js

6. ブラウザを開き、以下のURLを実行して、Successed と表示されることを確認します。

http://<仮想マシンのIPドレス>:3030

pastedImage_35.png

7. 上記のように接続確認ができたら、端末上で CTRL-C を2回入力しアプリを停止します。

pastedImage_36.png

4. ADB上のデータを確認してみよう

最後に、上記で作成したADBへの接続を利用して、ADBの中に格納されているデータを見てみましょう。

1. (必要に応じて)adbselect.jsの中身を確認します。ADBへの接続を作成して、簡単なSELECT文を実行するという内容です。

$ cat adbselect.js

2. adbselect.jsを実行します。特定のCUSTOMER IDの情報が表示されればOKです。

$ node adbselect.js

以上で、この章の作業は終了です。

次の章にお進みください。

Sign In or Register to comment.