オープンソース DB での DataSpider ガイドブック実践

Avatar
dstn


はじめまして。開発部の陳です。
1月にアプレッソの開発部に入ったばかりの新参者です。
前職の SE で数年開発関わってきたが、今は初心に戻って開発技術の復習しながら、製品知識を習得しているところです。
これからは皆さんのもとにもっと素敵な製品を届けられるように、頑張って行きたいと思います。よろしくお願いします。

はじめに



DataSpider の公式解説書、『DataSpider ガイドブック』では Access を例にデータベース連携を分かりやすく説明しているが、開発者にもっと馴染めのあるオープンソース DB の PostgreSQL や MySQL をベースにした説明もあればいいではないかと思って、この記事を書くに至った次第です。

ソフトウェアのインストール

 

DataSpider


DataSpider ガイドブック体験版(バーション 3.0、以下では「ガイドブック体験版」と略します)をこちらから入手して、インストール手順を参考にしてインストールしてください。

2014/2 現在、通常配布の体験版(バージョン 3.1)はガイドブック体験版と違って、ライセンスの関係上いくつかの機能が制限されています。通常配布の体験版ではガイドブック通りに演習を行うことできないので、誤ってそちらを使わないように気をつけてください。

PostgreSQL


ガイドブック体験版は PostgreSQL 8.3、8.2、8.1、8.0 をアダプタとしてサポートしています。ガイドブックを PostgreSQL で試したい場合はどれかを公式サイトからダウンロードしてインストールしてください。 この記事では PostgreSQL の部分を PostgreSQL 8.3 ベースに説明します。

※ 2014/2 現在、PostgreSQL 8.3 までのバージョンはすでにサポート期限終了したので、DataSpider 製品版での使用の場合は適宜最新版で置き換えてください。

MySQL


ガイドブック体験版は MySQL 5.1、5.0 をサポートしています。ガイドブックを MySQL で試したい場合はどれかを公式サイトからダウンロードしてインストールしてください。MySQL のインスタンスを設定する際は、文字化けを防ぐため、デフォルト文字コードを UTF8に設定してください。この記事では MySQL の部分を MySQL 5.1 ベースに説明します。

MySQL と連携する場合は DB 本体の他に、別途ライブラリをインストール必要があります。インストールの手順は DataSpider Studio ヘルプの「アダプタ > データベース > MySQL > ライブラリのインストール」をご参照ください。

※ 2014/2 現在、MySQL 5.1 までのバージョンはサポート期限終了したので、DataSpider 製品版での使用の場合は適宜最新版で置き換えてください。

データベースの準備


ガイドブックのサンプルデータに、 Access 用のデータベースファイルがありますが、 PostgreSQL や MySQL 用のファイルはないので、データベース内テーブル定義と一部のデータ投入を事前に行う必要があります。この部分の準備は地味に手間かかるので、実行用のスクリプトファイルを用意しました。以下の操作でデータベースを準備しましょう。

スクリプトファイルを実行すると、 dss_learning という名前のデータベースインスタンスが作成されます。また、実習に必要なテーブル定義とデータもデータベースインスタンスに追加されます。

PostgreSQL の場合


操作1 こちらから PostgreSQL 用のスクリプトファイルをダウンロードします。
操作2 SQL Shell (psql) を起動して、ダウンロードしたスクリプトファイルを実行します。
postgres=# \i <postgresql_dss_learning_sql.txtのファイルパス>

MySQL の場合


操作1 こちらから MySQL 用のスクリプトファイルをダウンロードします。
操作2 MySQL コマンドラインクライアントを起動して、ダウンロードしたスクリプトを実行します。
mysql> source <mysql_dss_learning_sql.txtのファイルパス>

データ連携を試してみよう


データベースの準備ができたら、ガイドブックの 2.4.5 の手順で、データ連携を試してみましょう。使用するデータベースが違うので、実際の環境に応じて 手順5 を以下の物に差し替えてください。

PostgreSQL の場合


操作1 ツールパレットの [データベース] → [PostgreSQL] → [テーブル書き込み] をキャンバスにドラッグ&ドロップします。
操作2 ガイドブック通りに操作します。
操作3 接続先の追加を行います。[テーブル書き込み処理] 画面の [接続先] の右側にある [▼] をクリックし、「+追加」 をクリックすると、[新規PostgreSQL 8.0接続設定] 画面が表示されます。
操作4 [新規PostgreSQL 8.0接続設定] 画面でデータソースの種類とデータソースに接続するための設定を行ないます。接続の [種類] は[PostgreSQL 8.3接続設定] を選択し、[名前] に「PostgreSQL 8.3接続設定(dss_learning)」と入力します。必須設定のデータベース名に「dss_learning」、他の欄に適切な値を入力します。

PostgreSQLの接続設定ダイアログ

◎確認 [接続テスト] ボタンをクリックして、データベースに接続できるかどうか確認してみましょう。 「接続に成功しました」というメッセージダイアログが表示されたら正しく設定できています。

PostgreSQLの接続成功ダイアログ

操作5 [新規PostgreSQL 8.3接続設定] 画面の [完了] ボタンをクリックすると [テーブル書き込み処理] 画面に戻ります。
操作6 ガイドブック通りに操作します。ただし、接続先は「PostgreSQL 8.3接続設定(dss_learning)」になります。
操作7 ガイドブック通りに操作します。

MySQL の場合


操作1 ツールパレットの [データベース] → [MySQL] → [テーブル書き込み] をキャンバスにドラッグ&ドロップします。
操作2 ガイドブック通りに操作します。
操作3 接続先の追加を行います。[テーブル書き込み処理] 画面の [接続先] の右側にある [▼] をクリックし、「+追加」 をクリックすると、[新規MySQL 5.1接続設定] 画面が表示されます。
操作4 [新規MySQL 5.1接続設定] 画面でデータソースの種類とデータソースに接続するための設定を行ないます。接続の [種類] は[MySQL 5.1接続設定] を選択し、[名前] に「MySQL 5.1接続設定(dss_learning)」と入力します。必須設定のデータベース名に「dss_learning」、他の欄に適切な値を入力します。

MySQL接続設定ダイアログ

◎確認 [接続テスト] ボタンをクリックして、データベースに接続できるかどうか確認してみましょう。 「接続に成功しました」というメッセージダイアログが表示されたら正しく設定できています。

MySQLの接続成功ダイアログ

操作5 [新規MySQL 5.1接続設定] 画面の [完了] ボタンをクリックすると [テーブル書き込み処理] 画面に戻ります。
操作6 ガイドブック通りに操作します。ただし、接続先は「MySQL 5.1接続設定(dss_learning)」になります
操作7 ガイドブック通りに操作します。

データベース連携時の注意点 Tips


以上のデータ連携が成功したら、残りのガイドブックの実習も同じように、
データベース操作を適宜に差し替えることで再現できるので、ここでは詳しい手順を省略します。
代わりに、データベース操作を差し替える際の注意点を簡単に説明します。

リテラル値の引用符の違い


データベースによって、リテラル値の引用符が変わるので、注意する必要があります。

例えば、ガイドブック P117 で説明された、データを検索してから削除するSQLステートメントを、PostgreSQL と MySQL で作成すると、以下のようになります。

(PostgreSQL)
PostgreSQLの削除用SQLステートメント

(MySQL)
MySQLの削除用SQLステートメント

PostgreSQL では「'」(シングルクォテーション)しか使用できませんが、MySQL では「'」と「"」(ダブルクォテーション)どちらでも使用可能です。

テーブル名とカラム名の表記の扱い


テーブル名やカラム名に日本語と英語が混在する場合、データベースによって扱いが変わるので、注意する必要があります。

例えば、ガイドブック P175 で説明されたデータを検索するSQLステートメントを、PostgreSQL と MySQL で作成すると、以下のようになります。

(PostgreSQL)
PostgreSQLの検索用SQLステートメント

(MySQL)
MySQLの検索用SQLステートメント

PostgreSQL の場合、テーブル名とカラム名の英語表記は小文字に変換されるので、大文字を含む物は「"」(ダブルクォテーション)で囲む必要があります。
MySQL の場合はそのまま使用可能です。

最後に


オープンソース DB で DataSpider ガイドブックの実習を実践する時に、必要最低限の設定と注意事項を簡単に説明しました。これで Access がなくても、安心して DataSpider ガイドブックを学べます。 DataSpider に興味お持ちの方、ぜひこれを機に、体験版をお試しください。

コメント

ログインしてコメントを残してください。

Powered by Zendesk