記事カテゴリ

ユーザー機能


 2024年5月 5日(日) 12:54 JST

OpenOffice.org Base 使えなかった

  • 投稿者:
  • 表示回数
    5,868
Oracle のデータを CSV にしてみたくてただそれだけの理由で導入してみました、OpenOffice.org Base。

すでに MS-Access 2003 は導入されてるのだが、Access が使えないタイプのテーブルなので、他のツールをと言うのが Base を選択した理由だ。
すでに存在するデータベースに接続するので、最初の画面で"既存のデータベースに接続"を選択する。相手がOracleなので、順当なADOで選択することにする。ドライバは、Microsoft提供のものとOracle提供のものとがあるが、Oracle提供のものを選ぶことにする。
データソースのURLを聞いてくるので、"ブラウズ"ボタンを押して、ウィザードに従い接続文字列を作成する。(ちゃんと接続テストもする)
完了したら、データベースの定義を保存しておく。拡張子はodbになった。

テーブルボタンを押して、テーブル一覧を表示する。Accessの様にいちいち各テーブルごとに取り込むテーブルとキー項目を指定する手間がないのはうれしいが、システム関係のテーブルまで表示されるのが不快だ。
ここで問題のテーブルを開く。すると214万件ほどレコードが存在するのだが、最初に表示されたのが47件、したにずりずりスクロールバーを下げると94件で止まってしまった。

OpenOffice.orgの問題かとも思ったが、ADOドライバの可能性を捨てきれずDelphiで同じドライバを使ってデータ表示プログラムを作成する。Delphiの特徴として設計画面でも実行時と同じデータが参照できるのだが、データを絞っていなかったせいもありBaseとは対照的にデータを読み込むのに結構待たされた。では、「テーブル」ではなく、「クエリ」ではどう表示されるかと、シンプルなSELECT文を作って発行したが状況は変わらなかった。

データ件数は少ないまでもCSVに出力するテストをと思い、一覧でテーブルを選択 ファイル|名前を付けて保存 を実行。ダイアログを表示したが、出力形式として選択できたファイルの種類は"OpenDocumentデータベース"のみ。
期待していただけにがっかりだ。Baseのこの出来を見ている限り、Sunも何に無駄な投資をしているんだろうと考えてしまった。

WriteやCalcは使うユーザも多いだろうから、もうちょっとまともなのであろうか?
※ Accessが取り扱えないデータとは、以下に該当するテーブルである。
  1. プライマリインデックス(キー)が無く、フィールドが10以上あるテーブル
  2. プライマリインデックスが10以上あるテーブル
Accessはキーを10個しか取り扱うことができないので、上記のようなデータを表示するとデータがおかしくなる。対策としては、各レコードにユニークなシーケンス番号を与えることだ。

トラックバック

このエントリのトラックバックURL:
https://www.blackcat.xyz/trackback.php/060410_openofficeorg_b

以下のコメントは、その投稿者が所有するものでサイト管理者はコメントに関する責任を負いません。