読者です 読者をやめる 読者になる 読者になる

Life, Education, Death

プログラミング以外でも思ったことをつらつらと書きたい

Common SQL EnviromentがPostgreSQL8.3で使えない問題

cseには結構お世話になっています

簡単にDBに繋げて、昔は使っていました。最近はもっぱらpgAdminで色々やっていたわけですが、テーブル定義書が生成したくてpgAdmin以外のツールを探していたわけです。

cseの問題

ここの質問にあるように

PostgreSQLの7.4.7ではCSEのバージョン1.60で動作しました。
PostgreSQLの8.1.3ではログインまではできますが、
テーブルをクリックすると必ず
ERROR: column "datpath" does not exist
といったエラーが出るため、この問題を解決しないと実質使用できません。

という問題がPostgreSQL8.3でも発生したので、使用が出来なかったわけです。


しかし、メニューの接続から接続のウィンドウを開いたときに、よく設定を見るとcseはポートの設定が空になっているのです。
ちゃんとポートを指定して繋ぐとテーブル定義書が生成できました。


別にドライバが6.5でも動くようですがPostgreSQLの雑記帳のを使うといいかもしれません。
全然、原理が不明だけども、問題の回避をできたので一件落着?

もっといいツールを見つけた

cseの問題を回避する方法に気づくまでに他のアプリを探していて、A5:SQL Mk-2というアプリにたどり着いた。
A5:SQL Mk-2 - フリーの汎用SQL開発ツール/ER図ツールのA5:SQL Mk-2はテーブル定義書の出力に設定がもう少し細かく出来る。
例えば、セルの内容がはみ出したときに折り返す設定とかがすごくよかった。
どちらのソフトでもちゃんとエクセルのファイルが出力できるのでとても便利です。

A5:SQL Mk-2設定

設定は少し面倒でODBC経由で接続するので、

  1. ドライバの配布 http://www.postgresql.org/ftp/odbc/versions/msi/
  2. ODBCの設定 http://allabout.co.jp/internet/database/closeup/CU20050219A/index.htm

1.からドライバをダウンロードして(今回はpsqlodbc_08_03_0400.zipをダウンロードした)、インストール。

2.のサイトを見ながらODBCの設定を行う。

A5:SQL Mk-2を起動するとDBの追加画面が開く。ここで"追加"を押して、ODBCドライバを選択し、"次へ"
さっき追加したデータソース名を選択して、適切にユーザー名とパスワードを入力する。一応、最後に接続のテストをして確認をしたら、"OK"を押す。

これで必要なDBの一覧が左のペインに表示される。
あとは必要なテーブルを右クリックして定義書の出力をすればOK

最後に

DBDesigner4はODBC接続でもうまく動かせなかった。環境の問題なのだろうか・・・


あとこれでcseの問題が解決できない場合があったらコメントください><