パススルークエリとPostgres
Accessで500フィールドオーバーのテーブルを扱えと・・・
そもそも、DB設計が破綻しているのでは?という突っ込みもあるかもしれませんが、
DB設計したのは他社だからね!(という言い訳はさておいて)
Postgresで構築されたこのDB、とにかくフィールドが多い!
正規化しろよ!と叫びたくもなるのですが、
その500オーバーの項目の400個目ぐらいのフィールドをAccessに取り込んでごにょごにょしなければいけないらしい。
Accessの通常のクエリやテーブルのビューでは255項目が限界値。
これだと、Accessにリンクテーブルを切っても項目の取得すら出来ませーん。
はて、困った。
パススルークエリを使ってほしい項目だけ持ってくればいいのかー
そこで、Pro*Cを書いていた数年前にたまに使っていたパススルークエリを思い出した。
VBAのSQL記法で無くて、OracleのSQL記法でODBC経由で直接DBに問合せができる便利なクエリがあったなぁ。
というのを思い出して、パススルークエリを開いて生SQL打って動作確認してみたらすんなり項目取得完了。
ということで、パススルークエリサマサマなわけであります。
DBの正規化テクニックはやはり必要だと思われ
その昔、項目が900個を越えるテーブルを目の当たりにして、眩暈がしたのを覚えています。
正直なところよっぽど大規模なシステムを構築しない限りはこのようなDBにお目にかかる事はないかと思いますが
やはりDBに対する知識はあって損は無いなぁ、と思った今日この頃でした。