民芸的プログラミング 〜ソフトウェア開発日記〜

アクセスカウンタ

zoom RSS SQLiteの面白さ(12) 実運用開始

<<   作成日時 : 2008/06/19 00:19   >>

ブログ気持玉 0 / トラックバック 0 / コメント 0

業務上の守秘義務があるので仔細に触れることはできないのだが、拙作のODBCドライバを用い、350万件ほどのデータを格納したDBの実運用を開始した。
このDBで管理しているのは、過去の試験実績。これまでは、これらのデータは100個近いmdbファイルに分割・格納されていた。そして、欲しいデータがあった場合、人間があたりをつけて適当な順でmdbファイルをいくつも開いていく必要があった。
これらが一つのDBにまとめられたので、一回の操作で全件検索できるようになり、業務効率は著しく改善した。そしてさらにODBCを利用することにより、フロントエンドをMS Accessのままにすることができたので、ユーザーを再教育する必要もなかった。
Access単体では管理不可能な2GBを超えたサイズのDBファイル。適切なインデックスを用意しておいたので、検索で希望のデータを探し出すのに5秒もかからない。敢えて気になる点があるとすれば、SQLiteのアクセス制限が甘いために、ユーザーが誤操作でデータを傷つける恐れがあるということくらいか。

何かのために、ここまでの手順を書ける範囲でまとめておく。

1.
SQLiteのODBCドライバを用意(拙作の日本語対応版)。

2.
約100個のmdbファイルからADO経由でそれぞれのテーブル定義を抽出するJScriptを書き、テーブル構造が同一であることを確認。

3.
JScriptにより、約100個のmdbファイルからADO経由でそれぞれのテーブルをCSVにダンプ。

4.
ダンプした約100個のCSVファイルを結合( copy data_*.csv >> total.csv )。

5.
結合したデータをUTF-8に変換し、'"'および行末の'\r'を削除( cat total.csv | iconv -f cp932 -t utf8 | tr -d '"' | tr -d "\r" > total_utf8.csv ここだけ、Linux上で作業した)。

6.
sqlite3.exeをコマンドラインから起動し、テーブル作成(構造のみ CREATE TABLE... ここは機密事項なので割愛)。

7.
sqlite3.exe -separator , shiken_jisseki.db ".import total_utf8.csv" でSQLiteにデータ取り込み

8.
sqlite3.exeをコマンドラインから起動し、インデックス作成

9.
Windows上でODBCを設定し、shiken_jisseki.dbにアクセスできるようにする

10.
MS Accessを起動し、新しく作成したDB上のテーブルへのテーブルリンクを作成

以上。

仕事の合間を縫いながら、色々とテストしていたので、作業の準備を始めてからは1ヶ月以上がかかってしまった。が、しっかりした準備のおかげで、上記の手順は半日で、自分一人だけの作業で済んでしまった。
JScriptの活用で、100個近いmdbからデータを効率的に取り出せたのが、最大の勝因だった。
もうひとつ、文字コードの変換にiconvを使うことで一部の文字が化ける心配があったのだが、まあ、大したことないだろうと割り切ってしまったのも大きかった。

テーマ

関連テーマ 一覧


月別リンク

ブログ気持玉

クリックして気持ちを伝えよう!
ログインしてクリックすれば、自分のブログへのリンクが付きます。
→ログインへ

トラックバック(0件)

タイトル (本文) ブログ名/日時

トラックバック用URL help


自分のブログにトラックバック記事作成(会員用) help

タイトル
本 文

コメント(0件)

内 容 ニックネーム/日時

コメントする help

ニックネーム
本 文
SQLiteの面白さ(12) 実運用開始 民芸的プログラミング 〜ソフトウェア開発日記〜/BIGLOBEウェブリブログ
文字サイズ:       閉じる