このサイトをビューするために JavaScript を有効化してください。

Altova MobileTogether Designer

» このレベルの上のトピックは存在しません «

サンプル:XML から SQLite へのデータマッピング

スクロール ホーム トップ その他

このサンプルは、 XML ファイルからデータを読み込み SQLite データベースに書き込む MapForce マッピングを作成するために必要なステップを説明します。このサンプルには、サンプルマッピングデザイン (.mfd) ファイルがあります。このサンプルを開始する前に、サンプルファイルを確認するには、以下のパスからファイルを開いてください: <%TUTFOLDER%>XMLtoSQLite.mfd.

 

このサンプルの目的は、 XML ファイルからデータを SQLite データベースに挿入することです。サンプルの目的を達成するために、データの書き込みができる空の SQLite データベースが必要です。このサンプルのスコープのために、公式の SQLite Web サイトから使用することのできるコマンドラインシェルを利用して SQLite データベースを作成します。 またh、この手順は他のツールを使用して行うことができます。

 

 

SQLite データベースの作成方法:

1.SQLite ダウンロードページ(http://www.sqlite.org/download.html)から、Windowsのための SQLite コマンドラインシェルをダウンロードし、 .zip アーカイブをローカルコンピューターでアンパックします。ます。 (このサンプルのスコープには c:\sqlite を使用します)。

2.c:\sqlite\sqlite3.exe を実行して、以下のステートメントを入力します:

create table articles (number smallint, name varchar(10), singleprice real);

これによりインメモリ データベース内に articles が作成されます。テーブル articles は3つの列により構成されます: number、 name、および singleprice。これらの列の目的は、ソース XML スキーマ内で定義された同じ名前を持つ要素からのデータを保管することです。各列は列内で保管されるデータに適切なデータ型と共に宣言されています。

3.コマンドを実行します:

.save Articles.db

これにより、インメモリ データベースを現在の作業パス: c:\sqlite\Articles.db に保存します。次のステップでこのパスを参照することに注意してください。

 

 

XML からto SQLite マッピングデザインの作成方法:

1.MapForce を実行し、変換言語が 内蔵されている に設定されていることを確認してください(メニューコマンド [出力 | 内蔵された実行エンジン] を使用します)。

2.<Documents>\Altova\MapForce2020\MapForceExamples\Tutorial フォルダー内にあるファイル Articles.xml  にマッピングエリアを追加します。(メニューコマンド [ファイル | XML スキーマ/ファイルの挿入] を使用します )。

3.前のステップで作成されたデータベース Articles.db のマップエリアに追加し(メニューコマンド [ファイル | データベースの挿入] を使用します) SQLite を選択します。

dlg_sqlite_browse_ex

4.データベースオブジェクトを選択するようにプロンプトされると、 articles テーブルを選択します。

dlg_sqlite_insert_dbobj_ex

5.以下に表示されるように接続を作成します:

map_xml_sqlite_example

6.データベースコンポーネントの A:In ボタンをクリックし、 [すべての記録の削除] オプションを選択します。マッピングが実行されると、重複を避けるために、すべての既存のデータベースの行は削除されます。

dlg_sqlitedb_actions_example

7.メインマッピングウィンドウの [出力] タブをクリックします。 MapForce は、マッピングを内蔵された実行エンジンを使用して行い、 SQL クエリを出力ウィンドウで表示します。

output_xml_sqlite_example

8.(メニューコマンド [出力 | SQL スクリプトの実行] を使用して )SQL スクリプトを実行して、データベースを作成します。 MapForce がランタイムエラーに遭遇しない場合、記録は SQLiteデータベースに挿入されます。

 

 

SQLite データベースに正しくデータが挿入されたかを確認する:

1.c:\sqlite\sqlite3.exe を実行して、コマンドを使用してデータベースを開きます:

.open Articles.db

2.select ステートメントを実行します:

select * from articles;

このクエリは ( ¦ ) 文字により区切られた articles テーブル内のすべての記録を返します:

cmd_xml_sqlite_example

上記のとおり、クエリは 4 つの行を返します。これは、このサンプルの意図とした目的であるソースファイルの記録と一致します。

(C) 2019 Altova GmbH