Skip to Content.
Sympa Menu

freetds - RE: [freetds] ODBC - binary, row count and compatibility

freetds AT lists.ibiblio.org

Subject: FreeTDS Development Group

List archive

Chronological Thread  
  • From: "ZIGLIO, Frediano, VF-IT" <Frediano.Ziglio AT vodafone.com>
  • To: "FreeTDS Development Group" <freetds AT lists.ibiblio.org>
  • Subject: RE: [freetds] ODBC - binary, row count and compatibility
  • Date: Tue, 9 Mar 2004 16:32:54 +0100

>
> On Tue, 9 Mar 2004, "ZIGLIO, Frediano, VF-IT"
> <Frediano.Ziglio AT vodafone.com> wrote:
> > > 81(TDS7_RESULT)
> > > ff(DONEINPROC)
> > > 81(TDS7_RESULT)
> > > aa(ERROR)
> > > ff(DONEINPROC)
> > > 79(RETURNSTATUS)
> > > fe(DONEPROC)
> > >
> > > it can't return SUCCESS just because that last DONEPROC was
> > > OK. It has to
> > > notify the client there was an intervening ERROR.
> >
> > SQLExecDirect stop at first DONE, so it do not see the
> ERROR token and
> > returns SQL_SUCCESS.
>
> Does Microsoft's version stop at the first DONEINPROC?
>

Yes. Assume that server return large text/image data on select, client
cannot cache all rows so it has to stop at first recordset (I tested and
it stops even if recordset is empty).

> I don't understand how SQLExecDirect() can (correctly) stop before
> DONEPROC. How is the application expected to learn of the ERROR?
>

I think on next SQLMoreResults or perhaps on SQLFetch (I didn't test
it)...
>From lang_error test calling SQLExecDirect("SELECT
DATEADD(dd,-100000,getdate())") return SQL_ERROR.

freddy77




Archive powered by MHonArc 2.6.24.

Top of Page