How to create n8n workflows that connect to Oracle Database
jgriffin1さんがGitHubで公開しているn8n-nodes-oracle-database-parameterizationをインストールすると、カスタム・ノードとしてOracle Databaseに接続できるようです。
Christopher Jonesさんの元記事ではn8nがインストールされている環境があることを前提として、このカスタム・ノードをインストールしています。本記事ではn8nから提供されているコンテナ・イメージから作成したコンテナに対して、このカスタム・ノードをインストールしてみます。
以下のコマンドでn8nのコンテナを作成します。
podman run -it --rm --name n8n -e N8N_RUNNERS_ENABLED=true -e N8N_ENFORCE_SETTINGS_FILE_PERMISSIONS=true -p 5678:5678 -v n8n_data:/home/node/.n8n docker.n8n.io/n8nio/n8n
% podman run -it --rm --name n8n -e N8N_RUNNERS_ENABLED=true -e N8N_ENFORCE_SETTINGS_FILE_PERMISSIONS=true -p 5678:5678 -v n8n_data:/home/node/.n8n docker.n8n.io/n8nio/n8n
Initializing n8n process
n8n ready on ::, port 5678
n8n Task Broker ready on 127.0.0.1, port 5679
[license SDK] Skipping renewal on init because renewal is not due yet or cert is not initialized
Registered runner "JS Task Runner" (gXBJ9F_2r4CJr94jMWOP9)
Version: 1.104.1
Editor is now accessible via:
http://localhost:5678
Press "o" to open in Browser.
ブラウザよりn8nにサインインし、アカウントのメニューからSettingsを開きます。
左のメニューよりCommunity nodesを選択し、Install a community nodeをクリックします。
npm Package Nameにn8n-nodes-oracle-database-parameterizationを指定し、I understand the risks of installing unverified code from public sourceをチェックします。
以上でInstallをクリックします。
Community nodesとしてn8n-nodes-oracle-database-parameterizationが追加されます。
Overviewのページに戻り、Create Workflowをクリックし、新規にワークフローを作成します。
最初のノードとしてTrigger manuallyを作成します。
ノードを追加します。Oracleで検索するとOracle Database with Parameterizationが見つかります。これを追加します。
カスタム・ノードの詳細が表示されます。Add to workflowをクリックします。
Oracle Databaseへの接続を確認するだけなので、SQL Statementはselect * from dualを設定します。
Credential to connect withはwksp_apexdev@local containerという名前で新規作成しました。
n8nのコンテナと同じく、コンテナで実行されているOracle Database 23ai Freeに接続するクリデンシャルを作成しています。
Connection Stringはhost.containers.internal/freepdb1としています。
以上の設定を行いExecute stepをクリックすると、select * from dualが実行されます。
n8nのノードでOracle Databaseにアクセスできることが確認できました。
Christopher Jonesさんの記事では、もっと色々な操作を行なっています。n8nでオラクルを扱うにあたって、最初に参照されることをお勧めします。
今回の記事は以上になります。
完