SQL Azureクラウド上でXMLデータを扱うためのAltovaツール活用方法

以前の投稿で、私たちは~について議論しました Altova DatabaseSpyを使用して、Microsoft SQL Azureデータベースに接続する方法 そして、ローカルデータベースと、それをSQL Azureに移行した同じデータベース間のデータベーススキーマ比較とデータ内容比較を実証しました。今回の記事では、既存のテーブルをSQL Azureに移行する別の方法を紹介し、クラウド上でXMLを活用するためのいくつかのテクニックをご紹介します。まず、SQL Azure上に新しいデータベーススキーマを作成しました。次に、 DatabaseSpy プロジェクト ローカル環境で動作しているSQL Server Expressのサンプルデータベース(AdventureWorks)に接続し、さらに、新たに構築したSQL Azureのスキーマにも接続されています。

AdventureWorksデータベースには、JobCandidateというテーブルがあり、このテーブルにはXMLデータが含まれています。このXMLデータは、SQL Azureで使用するXMLコンテンツのモデル作成に使用します。

既存のテーブルに対して、SQL Azure版を作成するための基礎となるCREATE文を生成することができます。

この記述を、当社のSQL Azureデータベースで実行できるように修正する必要があります。データベース名とスキーマ名を変更するだけでなく、新しいデータベースに「Employee」という名前のテーブルが存在しないため、Employeeテーブルへの外部キー制約を削除します。また、SQL AzureはCONTENTキーワードをサポートしていないため、それも削除します

修正されたCREATE文のプロパティウィンドウがSQL Azureデータベースを指していることを確認した後、その文を実行できます。データベースを更新し、オンラインブラウザヘルパーウィンドウで表示を展開すると、新しい空のテーブルが表示されます。

既存のテーブルと新しいテーブルのデータ比較を行うことで、SQL Azureクラウド上に新しいテーブルにデータを移行するためのスクリプトを作成できます。これは、~に似ています SQL Azureに関する以前の記事でご紹介した、データ比較について, ただし、データを直接統合する代わりに、統合処理を行うスクリプトを保存します。

最初のマージスクリプトの実行は失敗し、エラーメッセージが表示されました。その内容は、SQL AzureがIDENTITY_INSERTがOFFになっている場合、新しいテーブルに値を挿入できないというものでした。この問題を解決するために、マージスクリプトに「SET IDENTITY_INSERT ON」という行を追加し、再度実行することができます

次に、SELECTクエリを実行して、正常にアップロードされたデータを確認することができます。

DatabaseSpyのデータインスペクタウィンドウを使用すると、広範囲にわたる列の内容をより簡単に確認できます。これは、新しい「JobCandidate」テーブルの「Resume」列に格納されているXMLドキュメントを扱う場合に特に便利です。

XMLSpyを使用したXMLデータの編集 SQL Azureデータベース内のXMLデータを修正、編集、更新、または検証する必要がある場合、Altova XMLSpyは、DatabaseSpyよりも高度なXML編集機能を提供します。XMLSpyからSQL Azureデータベースに接続し、XMLSpyのデータベースクエリウィンドウからSELECTクエリを実行できます。XMLSpyを使用すると、任意のXMLレコードを直接編集でき、高度なXML編集機能を利用できます。

もちろん、XMLSpyのテキスト表示機能やグリッド表示機能など、これまでおなじみのすべての機能が利用可能です。

編集が完了したら、XMLSpyの「ファイル」/「保存」メニューオプションを使用することで、修正されたXMLドキュメントが、クラウド上のSQL Azureデータベースにある「JobCandidate」テーブルの該当行に保存されます。

XQueryによるXMLデータの解析 XMLSpyのXQueryエディタを使用すると、XQueryの構文やコンテキストに応じた入力支援機能が組み込まれているため、SQL Azureデータベース内のXMLデータを解析するXQuery文を簡単に作成できます。以下に示すXQuery文は、JobCandidateIDが7より小さいXML形式の履歴書から、自宅住所を抽出して返します。

XQueryの記述は、データベースクエリウィンドウで実行でき、その結果はXMLSpy上ですぐに確認し、作業に利用することができます。

もちろん、XQuery の結果は、テキスト表示またはグリッド表示のどちらでも編集できます。

データベースクエリの結果は、データベースクエリウィンドウまたはXMLエディタのいずれかから保存できます。Altovaのツールを使用して、SQL Azureクラウド上でXMLデータを扱うことで、どれだけ効率的に作業できるか、ぜひご自身で体験してみてください。そのためには、Altova MissionKit for Software Architects30日間の無料トライアル版をダウンロードしてください。この統合スイートには、XMLSpy、DatabaseSpy、およびその他のXML、データベース、UMLツールが含まれています。