検索

Node.js は、サーバー側プログラミングを可能にする非常に人気のある JavaScript ランタイム環境です。他の言語と比較して非常に高速かつ柔軟であり、I/O 集中型のタスクを処理する能力があります。これに加えて、Node.js はデータベースとの対話にも優れています。この記事では、Node.jsを使用してOracleデータベースにアクセスして操作する方法を学びます。

Node.js を使用して Oracle データベースに接続する前に、次のものがインストールされていることを確認する必要があります:

  • Node.js
  • Oracle Instant Client
  • Node.js の Oracledb モジュール
  1. Oracle Instant Client のインストール

Oracle Instant Client は、Oracle データベース用の軽量クライアントです。 Node.jsからデータベースにアクセスします。 Oracle Instant Client をインストールするときは、オペレーティング システムおよび Oracle データベースのバージョンと互換性のあるバージョンを選択してください。 Oracle Instant Client は、Oracle Web サイトからダウンロードするか、次のコマンドを使用してインストールできます。

$ sudo apt-get install libaio1
$ wget https://download.oracle.com/otn_software/linux/instantclient/1912000/oracle-instantclient19.12-basic-19.12.0.0.0-1.x86_64.rpm
$ sudo alien -i oracle-instantclient19.12-basic-19.12.0.0.0-1.x86_64.rpm
  1. Node.js の oracledb モジュールをインストールします

Node.jsを使用したOracleデータベースでは、oracledbモジュールを使用する必要があります。 oracledb モジュールをインストールするには、コンソールでプロジェクト フォルダーに移動し、次のコマンドを実行します。

$ npm install oracledb
  1. Oracle データベースに接続する JavaScript ファイルを作成します

To Oracle データベースに接続するには、Oracle 接続に関する情報を使用する必要があります。この情報は通常、tnsnames.ora ファイルにあります。 tnsnames.ora ファイルには、接続先の Oracle データベースの接続情報が含まれています。 tnsnames.ora ファイルの場所がわからない場合は、Oracle 管理者に問い合わせてください。

プロジェクト フォルダーで dbconfig.js というファイルを作成し、次の内容をその中に追加します。

module.exports = {
 user: "用户名",
 password: "密码",
 connectString: "连接字符串"
}

Oracle ユーザー名、パスワード、接続文字を使用してください。文字列は、上記のコード。

  1. Oracle データベースへの接続

これで、Oracle データベースに接続していくつかの操作を実行する準備が整いました。これを行うには、JavaScript ファイルを作成し、次の操作を実行します。

const oracledb = require('oracledb');
const dbConfig = require('./dbconfig.js');

oracledb.getConnection(
 {
  user: dbConfig.user,
  password: dbConfig.password,
  connectString: dbConfig.connectString
 },
 function(err, connection)
 {
  if (err) {
   console.error(err.message);
   return;
  }
  console.log('Connection was successful!');

  connection.close(
   function(err) {
    if (err) {
     console.error(err.message);
     return;
    }
    console.log('Connection was closed!');
   });
 });

上記のコードを実行すると、Oracle データベースに接続できます。 oracledb.getConnection メソッドを使用してデータベースに接続します。接続に失敗した場合はエラーメッセージが出力され、失敗した場合は接続成功のメッセージが出力されます。次に、connection.close メソッドを使用して接続を閉じます。

  1. クエリの実行

データベースに接続すると、クエリ、追加、削除、変更などの操作を実行できます。クエリを実行するには、前の手順の JavaScript ファイルに次のコードを追加します。

const oracledb = require('oracledb');
const dbConfig = require('./dbconfig.js');

oracledb.getConnection(
 {
  user: dbConfig.user,
  password: dbConfig.password,
  connectString: dbConfig.connectString
 },
 function(err, connection)
 {
  if (err) {
   console.error(err.message);
   return;
  }
  console.log('Connection was successful!');

  connection.execute(
   `SELECT empno, ename FROM emp`,
   function(err, result) {
    if (err) {
     console.error(err.message);
     return;
    }
    console.log(result.rows);
    connection.close(
     function(err) {
      if (err) {
       console.error(err.message);
       return;
      }
      console.log('Connection was closed!');
     });
   });
 });

上記のコードでは、connection.execute メソッドを使用してクエリを実行します。クエリが失敗した場合はエラー メッセージが出力され、それ以外の場合はクエリ結果の行が出力されます。

概要

この記事では、Node.js を使用して Oracle データベースにアクセスする方法を紹介します。まず、Oracle Instant Client と Node.js の oracledb モジュールをインストールし、次に Oracle データベースに接続するための JavaScript ファイルを作成し、データベースに接続してクエリを実行します。 Node.jsをOracle Databaseとともに使用する利点の1つは、そのパフォーマンスです。Node.jsは、I/O集中型のタスクの処理と高い同時実行性に適しているため、Oracle Databaseと併用した場合も優れたパフォーマンスを発揮します。

以上がNodejsでorceにアクセスする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
UseEffectとは何ですか?副作用を実行するためにどのように使用しますか?UseEffectとは何ですか?副作用を実行するためにどのように使用しますか?Mar 19, 2025 pm 03:58 PM

この記事では、functionコンポーネントでのデータフェッチやDOM操作などの副作用を管理するためのフックであるReactの使用Effectについて説明します。メモリリークなどの問題を防ぐための使用、一般的な副作用、およびクリーンアップについて説明します。

怠zyなロードの概念を説明してください。怠zyなロードの概念を説明してください。Mar 13, 2025 pm 07:47 PM

怠zyな読み込みは、必要になるまでコンテンツの読み込みを遅延させ、初期負荷時間とサーバーの負荷を削減することにより、Webパフォーマンスとユーザーエクスペリエンスを改善します。

JavaScriptでカリーはどのように機能し、その利点は何ですか?JavaScriptでカリーはどのように機能し、その利点は何ですか?Mar 18, 2025 pm 01:45 PM

この記事では、JavaScriptのカレーについて説明します。これは、マルチアーグメント関数を単一argument関数シーケンスに変換する手法です。 Curryingの実装、部分的なアプリケーションなどの利点、実用的な用途、コード読み取りの強化を調査します

JavaScriptの高次関数とは何ですか?また、より簡潔で再利用可能なコードを書くためにどのように使用できますか?JavaScriptの高次関数とは何ですか?また、より簡潔で再利用可能なコードを書くためにどのように使用できますか?Mar 18, 2025 pm 01:44 PM

JavaScriptの高次関数は、抽象化、共通パターン、および最適化技術を通じて、コードの簡潔さ、再利用性、モジュール性、およびパフォーマンスを強化します。

React和解アルゴリズムはどのように機能しますか?React和解アルゴリズムはどのように機能しますか?Mar 18, 2025 pm 01:58 PM

この記事では、Virtual DOMツリーを比較してDOMを効率的に更新するReactの調整アルゴリズムについて説明します。パフォーマンスの利点、最適化技術、ユーザーエクスペリエンスへの影響について説明します。

connect()を使用して、ReactコンポーネントをReduxストアにどのように接続しますか?connect()を使用して、ReactコンポーネントをReduxストアにどのように接続しますか?Mar 21, 2025 pm 06:23 PM

記事では、Connect()、MapStateToprops、MapDispatchToprops、およびパフォーマンスへの影響を説明するReduxストアに反応コンポーネントをReduxストアに接続します。

usecontextとは何ですか?コンポーネント間で状態を共有するためにどのように使用しますか?usecontextとは何ですか?コンポーネント間で状態を共有するためにどのように使用しますか?Mar 19, 2025 pm 03:59 PM

この記事では、ReactのUseContextを説明しています。これにより、小道具掘削を避けることで国家管理を簡素化します。再レンダーの削減により、集中状態やパフォーマンスの改善などの利点について説明します。

イベントハンドラーのデフォルトの動作をどのように防止しますか?イベントハンドラーのデフォルトの動作をどのように防止しますか?Mar 19, 2025 pm 04:10 PM

記事では、PreventDefault()メソッドを使用して、イベントハンドラーのデフォルト動作の防止、ユーザーエクスペリエンスの強化などの利点、およびアクセシビリティの懸念などの潜在的な問題について説明します。

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

PhpStorm Mac バージョン

PhpStorm Mac バージョン

最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

EditPlus 中国語クラック版

EditPlus 中国語クラック版

サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

mPDF

mPDF

mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。