Ruby でFTP データ連携アプリを構築

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

無償トライアル:

ダウンロードへ

製品の詳細情報へ:

FTP ODBC Driver

FTP ODBC Driver は、ODBC 接続をサポートするさまざまなアプリケーションからSalesforce リモートファイルやディレクトリのリアルタイムデータ連携を実現するパワフルなツールです。

標準ODBC ドライバーインターフェースを通じて、データベースにアクセスするのと同じ感覚でリモートデータにアクセス。



Ruby でODBC 経由でFTP に接続して、モダンなクラウド連携アプリを開発。

CData ODBC Driver for FTP を使うと、簡単にRuby アプリケーションにリアルタイムFTP データを連携・統合できます。 Tこの記事では、FTP] データにリアルタイムに連携するRuby アプリケーションを構築して、クエリを実行し、結果を表示してみます。

FTP データのODBC 接続を設定

通常はCData ODBC Driver のインストール後にODBC DSN 接続ウィザードが立ち上がり、設定を行うことができます。 もしODBC DSN 接続が未済の場合には、Microsoft ODBC データソースアドミニストレータでODBC DSN を作成および設定することができます。

FTP は、プレーンテキスト接続およびSSL/TLS 接続の両方をサポートします。FTP サーバーに接続するには、RemoteHost、User、およびPassword を指定します。SSLMode およびSSLServerCert を設定して、TSL/SSL による接続をセキュアにします。TLS/SSL を介した接続の設定について詳しくは、ヘルプドキュメントの「高度な設定」を参照してください。

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

  • RemotePath:現在の作業ディレクトリに設定。
  • TableDepth:ビューとしてレポートするサブフォルダの深度を制御するために設定。
  • FileRetrievalDepth:ファイルを再帰的に取得し、Root テーブルにリストするために設定。

ストアドプロシージャ は、ファイル、のダウンロード、アップロード、およびプロトコルコマンドの送信に利用できます。 SQL を使用してサーバーと対話する方法の詳細については、ヘルプドキュメントの「データモデル」を参照してください。

Ruby および必要なGem のインストール

If you do not have Ruby installed, refer to the Ruby インストールページ. Ruby をインストールしたら、次にruby-dbi、dbd-odbc、ruby-odbc gems をインストールします:

gem install dbi gem install dbd-odbc gem install ruby-odbc

FTP データに連携するRuby アプリケーションの作成

Ruby ファイル (例: FTPSelect.rb) を作成し、テキストエディタで開きます。ファイルに次のコードをコピーします:

#connect to the DSN require 'DBI' cnxn = DBI.connect('DBI:ODBC:CData FTP Source','','') #execute a SELECT query and store the result set resultSet = cnxn.execute("SELECT Filesize, Filename FROM MyDirectory") #display the names of the columns resultSet.column_names.each do |name| print name, "\t" end puts #display the results while row = resultSet.fetch do (0..resultSet.column_names.size - 1).each do |n| print row[n], "\t" end puts end resultSet.finish #close the connection cnxn.disconnect if cnxn

これで、Ruby で FTP データが接続できるようになります。簡単にコマンドラインからファイルを叩いて接続を確認してみましょう。:

ruby FTPSelect.rb FTP へのSQL-92 企画のSQL を使って、Ruby に簡単にFTP を連携できます。是非、トライアルで試してみてください。