[pgsql-jp: 34467] Re: アプリケーションから ODBC経由で接続したテーブルの読み込み

Roichan roichan_ayu @ cute.biglobe.ne.jp
2004年 12月 10日 (金) 15:24:39 JST


お返事ありがとうございました。

:谷田さん、佐藤@日立建機さん

> 本家の最新版、7.03.0200を試してみてはいかがですか?
まずドライバを更新してみましたが、動作は同じようです。

> これ、ODBCドライバ設定の「Declare〜Fetchを使用」に
> チェックが入っていないからではないでしょうか?

> もし、そのテーブル上で更新を行わないなら、Use Declare/Fetchのオプション
> をonにすることで同等の動作にできます。ただし、これは更新と用いるとデッド
> ロックを発生させる可能性があります。

仕様用途がデータの一覧表示および更新となりますので、
このオプションは使えないようです。
ただ、更新といってもアプリケーション側で更新クエリを作成するので
もしかしたらうまくいくのかもしれません。


:トメさん
> 接続に時間がかかっているのかクエリの実行に時間がかかっているのか?
> 接続ならサーバーあるいはクライアント側の設定の問題?
> 接続に問題ないならクライアントマシンのスペックが極端に貧弱?
> または、サーバーが極端に貧弱? サーバーのOSは? クライアントは?
> レコード長はどれくらいなんでしょうか?

> 1〜3のご質問は言いたい事が分かるような分からないようなって感じです。
> もう少し具体的にしたほうが宜しいかと思います。
> 私には1のpsqlとODBCの関係が分かりません。 ので、2も不明。
> ただ、そう言うPGを組めばいいだけのような?
> 3は何をするための汎用的な方法なのか良く分かりませんが?

接続に時間がかかっているわけではありません。
他のテーブル(レコード件数の少ない物は表示できているので)
サーバーOSは現在はLinux(最終的にはWindowsServer+PowerGresになるらしいで
す)です。クライアントマシンのスペックは(Pentium-4
3.06GHz,Windows2000SP4,Memory1GB)もちろんこれは開発用で、実際はもっと低
スペックになるかとおもいます。

1.で私が示したかったのは、psqlでテーブルを表示したとき、1画面に収まらな
い場合--More--のように表示が出て何かキーを押すと次の画面を表示するといっ
たことをODBCのオプションで実装できないかということです。
これができればいいのですが、谷田さん、佐藤@日立建機さん曰く、
オプションとしてあるにはあるのだが、更新時にデッドロックになる可能性が
あるとのことでした。

ということから皆さんがPostgreSQL+ODBCでWindowsアプリケーションを作成する
ようなとき大きなテーブルをどのように扱っているのかということを質問しまし
た。先ほど示して頂いたオプションも試してみたいと思います。
現在問題のあるテーブルは20万件近い物なので、間に検索引数をうまく入れら
れないか検討中でもあります。

ありがとうございました。



pgsql-jp メーリングリストの案内