Re: SQLExecDirect() + SQLDataParam() + SQLPutData() fails

Frediano Ziglio <[email protected]> Tue, 11 Sep 2018 22:42:45 +0200
Newsgroups gmane.comp.db.tds.freetds
Message-ID <CAHt6W4erKNgdCZvRKXa1SdOLiFk=2LGJKhO7X9xyt-9=kCwweQ@mail.gmail.com>
Il giorno sab 30 giu 2018 alle ore 13:07 Sebastien FLAESCH
<[email protected]> ha scritto:
>
> Attached, the code example to reproduce:
>
> When using SQLPrepare() + SQLExecute():
>
> $ gcc -D USE_PREP_EXEC -o odbctest3.bin odbctest3.c ...
>
> $ ./odbctest3.bin
>  >> prepare insert...
>  >> bind ...
>  >> execute...
>  >> param data...
>  >>>>> put varchar(max)
>  >> param data...
>
>
> When using SQLExecDirect():
>
> $ gcc -o odbctest3.bin odbctest3.c ...
>
> $ ./odbctest3.bin
>  >> bind ...
>  >> exec direct...
>  >> param data...
>  >>>>> put varchar(max)
> Error -1 at: SQLPutData 1
> Diagnostic info:
>    SQL State: HY010
>    SQL code : 0
>    Message  : [FreeTDS][SQL Server]Function sequence error
>
>
> What is wrong in my ODBC function sequence?
>
> Cheers,
> Seb
>
>
> On 06/29/2018 03:09 PM, Sebastien FLAESCH wrote:
> > Hi all,
> >
> > Just asking before sending a little code sample to reproduce:
> >
> > Is there a know limitation regarding VARCHAR(MAX)/VARBINARY(MAX) parameters
> > and SQLExecDirect() + SQLParamData() + SQLPutData() ?
> >
> > When using SQLPrepare() + SQLExecute() + SQLParamData() + SQLPutData(), I can
> > send Large Objects, but with SQLExecDirect(), I get the error:
> >
> > [FreeTDS][SQL Server]Function sequence error
> >
> > When doing the first SQLPutData() ...
> >
> > Seb

Sorry for the delay, very easy to fix. Fixed in Branch-1_00 and master.
I'll integrate the test.

Frediano