ODBC を介してNode.js からSFTP データをクエリ

詳細情報をご希望ですか?

無償トライアル:

ダウンロードへ

製品の詳細情報へ:

SFTP ODBC Driver

SFTP ODBC Driver で、ODBC 接続をサポートするあらゆるツール・アプリケーションからリモートファイルおよびディレクトリのデータに接続可能に。

標準ODBC Driver インターフェースでリモートデータにDB と同感覚でアクセス。



node-odbc を使用して、Node.js からSFTP データへのSQL クエリを実行します。

Node.js はブラウザ上以外でJavaScript コードを使用できるJavaScript ランタイム環境です。CData ODBC Driver for SFTP を使用すれば、Node.js アプリとスクリプトから、ライブSFTP データにアクセスできます。この記事ではnode-odbc のインストールと、ライブSFTP データへのアクセスが可能な、シンプルなNode.js アプリケーションを作成するために必要なツールについて説明します。

ビルトインの最適化されたデータ処理により、CData ODBC Driver は比類のないパフォーマンスで、Node.js のライブSFTP データとやりとりできます。Node.js からSFTP に複雑なSQL クエリを発行すると、ドライバーはフィルタや集計などのサポートされているSQL 操作をSFTP に直接プッシュし、組み込まれたSQL エンジンを利用してサポートされていない操作(主にSQL 関数とJOIN 操作)をクライアント側で処理します。

SFTP データに接続する

必要な接続プロパティの値が未入力の場合には、データソース名(DSN)で入力します。組み込みのMicrosoft ODBC Data Source Administrator を使用し、DSN を構成できます。ドライバーのインストールの最後にアドミニストレーターが開きます。Microsoft ODBC データソースアドミニストレーターを使ってDSN を作成および設定する方法は、ヘルプドキュメントの「はじめに」を参照してください。

FTP は、SFTP プロトコルを使用してSFTP サーバーとの間のファイル転送を行います。接続するにはRemoteHost を指定します。FTP はUser、Password、および公開鍵認証(SSHClientCert)を使用します。 SSHAuthMode を選択し、選択に基づいて接続値を指定します。

次の接続プロパティを設定し、ファイルシステムのリレーショナルビューをコントロールします。

  • RemotePath: 現在の作業ディレクトリに設定。
  • TableDepth: ビューとしてレポートするサブフォルダの深度を制御するために設定。
  • FileRetrievalDepth: ファイルを再帰的に取得し、Root テーブルにリストするために設定。
ストアドプロシージャは、ファイル、のダウンロード、アップロード、およびプロトコルコマンドの送信に利用できます。SQL を使用してサーバーと対話する方法の詳細については、ヘルプドキュメントの「データモデル」を参照してください。

node-odbc を構築する

CData ODBC Driver を介してSFTP に接続するには、必要なツールをインストールした後に、node-odbc を手動で構築する必要があります。

必要なツールをインストールする

以下のコマンドでは、node-odbc の構築に必要なツールをインストールします。(ツールをグローバルにインストールする-g パラメータに注意してください。)

npm i -g windows-build-tools
npm i -g node-gyp

node-odbc を構築する

必要なツールをインストールしたらNode.js アプリケーションのディレクトリを作成し、Node.js スクリプトで使用するバイナリを構築するodbc をインストールします。

mkdir nodeodbc
cd nodeodbc
npm i -g node

Node.js からSFTP をクエリ

ODBC Driver がインストールされ、DSN が構成されて、node-odbc が構築されたら、Node.js アプリケーションからライブSFTP データをクエリすることができるようになります。以下のサンプルコードは、特定のDSN に接続してMyDirectory テーブルをクエリします。

myscript.js

const odbc = require('odbc');

async function querySFTP() {
    const connection = await odbc.connect(`DSN=CData SFTP Source`);
    const data = await connection.query('SELECT Filesize, Filename FROM MyDirectory');
    console.log(data);
}

querySFTP();

アプリケーションを作成したら、node を使用してスクリプトを実行します。

node myscript.js

CData ODBC Driver for SFTP の30日間無償トライアルをダウンロードすればNode.js でライブSFTP データを使用できます。ご不明な点があれば、サポートチームにお問い合わせください。