[pgsql-jp: 32082] Re: ODBC でエラー

Hiroshi Inoue Inoue @ tpf.co.jp
2004年 1月 21日 (水) 19:45:35 JST


井上です。

deumi wrote:
> 
> でうみです
> 
> > 井上です。
> > データの切捨てが発生しているのだと思います。
> > 問題の項目のカラム定義はどうなっていますか?
> szContents text,
> となっています。

Text As LongVarcharをオンにするとどうなるでしょうか?
 
> > > dbcore.cpp の CheckRowsetError() の中で
> > > ThrowDBException() が発生しています。
> >
> > CheckRowsetErrorをオーバーライドする手はないですか?
> オーバーライド をしようかと少し詳細に見ていったところ
> 
> RETCODE CRecordset::FetchData(UWORD wFetchType, SDWORD nRow,
>         DWORD* pdwRowsFetched)
> {
> のなかで
> 
>    AFX_ODBC_CALL(::SQLExtendedFetch(m_hstmt, wFetchType,
>                 nRow, pdwRowsFetched, m_rgRowStatus));
> マクロの中で SQL_SUCCESS_WITH_INFO が返ってきて中断しています。
> nRetCode = SQL_SUCCESS_WITH_INFO(1) がセットされる
> 
>    CheckRowsetError(nRetCode);
>    で例外発生です
> 
> 闇雲にやるのも問題ありそうです。

CheckRowsetErrorをオーバーライドしても既に発生している
データの切り捨てを繕うことはできません。データの切り捨て
が発生してもエラーにしないで続行したい場合にしか使用でき
ません。

Hiroshi Inoue



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