QueryBookの導入

導入方法とちょっとした注意事項

動作条件

Windows2000以降のNT系OSで動作します。ADO接続を使用する場合はMDAC2.6以降が必要です。
( ※Windows2000ではGDI+のライブラリを別途インストールする必要がある場合があります。)

あと、OleでExcel出力するためにはOfficeがインストールされている必要があります。OleモードでなはないExcel出力ではOfficeがなくてもOKです。

インストール

インストールはQueryBook.exeをコピペするだけです。どこに置いても構いませんが実行すると設定ファイルやスキーマ情報などを実行ディレクトリ下に吐き出しますので、適当なフォルダを作って置いてください。Vista以降のOSではProgram Files下は避けた方が無難です。

起動オプション(BDE対応)

マルチコアCPUでBDEを使う場合の以下ように引数をつけて起動してください。
  QueryBook.exe /BDE
この時、使用するCPUを1つに制限します。 ParadoxやdBaseをお使いの場合お勧めです。
 ※実際の接続にはODBCをお使いください。

DBクライアントとDIRECTモード

基本的には各DBのクライアントが必要ですが、UniDAC接続時にDIRECTモードを指定すれば、QueryBookが直接DBサーバーと交信しますのでクライアントマシンに何もインストールする必要はありません。
現在DIRECTモードをサポートしているDBは下記の通りです。

  • Oracle
  • MySQL
  • SQLite
  • SQL Server
  • PostgresSQL

※現在QueryBookは32bit版のみなので、DBクライアントも32bit版が必要ですが、DIRECTモードなら64bit環境でも問題ありません。
DIRECTモードなら 面倒なOracleクライアントが不要!!
これでインストールする度に増えていく ORACLE_HOME に悩まされる事がありません。
ついでに 64bitクライアントでも問題なし!! 使わないもんね。

アンインストール

上記ディレクトリを削除するだけです。

データ型、文字コード、性能...。

データ型の問題、とくに文字化けについては以下の点を覚えて置いてください。

  • ADO接続の場合、
     ADO側でネイティブなDBの型がADOの型にマッピングされる。このとき文字はUNICODEになる(たぶん)。
     QueryBook内はDelphiのフィールド型に再度マッピングされる。
  • UniDAC接続の場合
     ネイティブなDBの型が直接Delphiの型にマッピングされる。このとき文字列は接続設定のUseUnicodeにより動作が変わる。
    ・DBがUNICODEなら UseUnicode = true として無変換。
    ・DBがAnsi系なら UseUnicode = false とすればUNICODEに変換される。
  • QueryBook内のユーザーインターフェイス部はUNICODE。

以上のことからADO接続の場合、しばしば不可思議な事が起こりえます。よくあるのが文字化けです。激しく化けて読めないのはドライバーの問題なのでドライバーを違うものにするか正しい設定にしてください。あとユニコード絡みで怪しい文字(「〜」みたいに)はあきらめるか、ADOの場合ドライバーを違うものにしてください。Orcale純正は化けて、MS製はOKということがよくあります。また、古いDBにはODBC経由で接続するとうまく行くことが多々あります。

また、UniDAC接続の場合 UseUnicode  の設定に気を付けてください。

また、DateTimeとTimeStampとか、DecimalとBCDとかのマッピングもドライバー次第です。この辺りはDelphi側のマッピングルールに難があったりすることがありますが、汎用的に対応するのにも限界がありますから...。
ちなみに、UniDAC接続では細かいマッピングルールも指定できますが、面倒なんでデフォルトのままです。