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






XML ODBC Driver は、ODBC 接続をサポートする様々なアプリケーションからXML データストアへの接続を実現するパワフルなツールです.

標準データベースにアクセスするときと同感覚でXML データにアクセスし、標準ODBC Driver インターフェースを通じて読み出し、書き込み、更新が可能に。

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

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

XML データのODBC 接続を設定

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

See the Getting Started chapter in the data provider documentation to authenticate to your data source: The data provider models XML APIs as bidirectional database tables and XML files as read-only views (local files, files stored on popular cloud services, and FTP servers). The major authentication schemes are supported, including HTTP Basic, Digest, NTLM, OAuth, and FTP. See the Getting Started chapter in the data provider documentation for authentication guides.

After setting the URI and providing any authentication values, set DataModel to more closely match the data representation to the structure of your data.

The DataModel property is the controlling property over how your data is represented into tables and toggles the following basic configurations.

  • Document (default): Model a top-level, document view of your XML data. The data provider returns nested elements as aggregates of data.
  • FlattenedDocuments: Implicitly join nested documents and their parents into a single table.
  • Relational: Return individual, related tables from hierarchical data. The tables contain a primary key and a foreign key that links to the parent document.

See the Modeling XML Data chapter for more information on configuring the relational representation. You will also find the sample data used in the following examples. The data includes entries for people, the cars they own, and various maintenance services performed on those cars.

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

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

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

#connect to the DSN require 'DBI' cnxn = DBI.connect('DBI:ODBC:CData XML Source','','') #execute a SELECT query and store the result set resultSet = cnxn.execute("SELECT [people].[personal.age] AS age, [people].[personal.gender] AS gender, [people].[] AS first_name, [people].[] AS last_name, [vehicles].[model], FROM [people] JOIN [vehicles] ON [people].[_id] = [vehicles].[people_id]") #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 で XML データが接続できるようになります。簡単にコマンドラインからファイルを叩いて接続を確認してみましょう。:

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