[pgsql-jp: 36643] C言語埋め込みでのFETCHエラー
Kazuki Funaki
k.funaki @ jp.fujitsu.com
2006年 1月 19日 (木) 13:40:16 JST
こんにちは.船木と申します.
ecpgを利用してC言語埋め込みSQLで開発しています.
以下のSQL文で検索を行うと,CURSORのFETCHで,次のようなエラーとなります.
SQL : select id from rbxtitle where rbxtitle.keywd='研究';
PQerrorMessage : could not receive data from server: No such file or directory
しかし,以下のSQL文では,検索可能です.
SQL : select id from rbxtitle where rbxtitle.keywd='ラボラトリ';
それぞれ,PQtraceで通信トレースを確認したところ,以下の違いがありました.
「研究」では,セッションが切断されるのでしょうか.
【「研究」の場合】
:
To backend> DECLARE wkcur CURSOR FOR select id from rbxtitle where rbxtitle.keyw
d='研究';
>From backend> C
>From backend> "DECLARE"
>From backend> Z
>From backend> Z
To backend> Q
To backend> FETCH ALL in wkcur
>From backend> P
>From backend> "wkcur"
>From backend> T
>From backend (#2)> 1
>From backend> "id"
>From backend (#4)> 25
>From backend (#2)> 65535
>From backend (#4)> -1
>From backend> D
>From backend (1)> \200
>From backend (#4)> 210070
>From backend> D
:
【「ラボラトリ」の場合】
:
To backend> DECLARE wkcur CURSOR FOR select id from rbxtitle where rbxtitle.keyw
d='ラボラトリ';
>From backend> N
>From backend> "NOTICE: Closing pre-existing portal "wkcur"
"
>From backend> C
>From backend> "DECLARE"
>From backend> Z
>From backend> Z
To backend> Q
To backend> FETCH ALL in wkcur
>From backend> P
>From backend> "wkcur"
>From backend> T
>From backend (#2)> 1
>From backend> "id"
>From backend (#4)> 25
>From backend (#2)> 65535
>From backend (#4)> -1
>From backend> D
>From backend (1)> \200
>From backend (#4)> 179
:
環境は次の通りです.
OS:SunOS 5.8
PostgreSQL:7.2.8
Linuxでは,動作しています.回避方法をご存知の方がいらっしゃい
ましたらご教授下さい.
以上,よろしくお願い致します.
pgsql-jp メーリングリストの案内