製品をチェック

無償トライアル:

無償トライアルへ

製品の情報と無償トライアルへ:

SFTP JDBC Driver

Java ベースのアプリケーションやBI ツールからリモートファイルやディレクトリに簡単にアクセス。

データ連携でお困りですか?

お問い合わせ

Jetty コネクションプールからSFTP データに連携。


CData JDBC Driver for SFTP は、コネクションプーリングをサポートします:本記事では、Jetty のWeb アプリからSFTP データに連携する手順を説明します。


加藤龍彦
ウェブデベロッパー

sftp ロゴ画像

JDBC Driver

jdbc ロゴ画像
Jetty ロゴ画像

CData JDBC Driver for SFTP は、Java Web アプリケーションに簡単に統合して利用することができます。本記事では、Jetty でドライバーをコネクションプールとして設定することで、効率的にSFTP データをアプリケーションで連携利用する方法を説明します。Jetty でJNDI resource for SFTP を設定します。

DBC Driver for SFTP を JNDI Data Source として設定

次の手順で、Jetty とSFTP の接続を確立します。

  1. Jetty ベースでJNDI モジュールを有効化します。JNDI を有効化するコマンドラインは以下の通り:

    java -jar ../start.jar --add-to-startd=jndi
  2. JDBC Driver の.jar ファイルと.lic ファイル(インストールディレクトリのlib フォルダ下)をcontext path のlib フォルダに配置します。
  3. リソースおよびスコープを宣言します。リソース宣言で必要な接続プロパティを入力します。この例では、SFTP データソースをWeb アプリケーションのWEB-INF\jetty-env.xml レベルにdeclare しています。

    <Configure id='sftpdemo' class="org.eclipse.jetty.webapp.WebAppContext"> <New id="sftpdemo" class="org.eclipse.jetty.plus.jndi.Resource"> <Arg><Ref refid="sftpdemo"/></Arg> <Arg>jdbc/sftpdb</Arg> <Arg> <New class="cdata.jdbc.sftp.SFTPDriver"> <Set name="url">jdbc:sftp:</Set> <Set name="RemoteHost">MyFTPServer</Set> </New> </Arg> </New> </Configure>

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

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

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

  4. Web xml でリソースを設定します:

    jdbc/sftpdb javax.sql.DataSource Container
  5. これで、java:comp/env/jdbc/sftpdb へのルックアップでSFTP データにアクセスできます: InitialContext ctx = new InitialContext(); DataSource mysftp = (DataSource)ctx.lookup("java:comp/env/jdbc/sftpdb");

Jetty にさらに統合

ここでは、シンプルなコネクションプーリングシナリオでのドライバーの接続について説明しました。追加での連携ケースについては、Jetty ドキュメントのWorking with Jetty JNDI  参照してください。