[freetds] db-lib dbtextsize implementation

Hans Kramer Hans.Kramer at xs4all.nl
Mon Jan 23 18:17:08 EST 2006


Hi Bill, James

Of course, before diving in writing dbtextsize(), I should have looked
whether I get dbwritetext() working under FreeTDS with my code.
I have to connect to a Sybase 12.5.3 database; have to read/write text
columns; got to run on an AMD linux box :-)

I reduced the code to the following, which works with the sybase db-lib:
main()
{
    LOGINREC     *login;
    DBPROCESS    *dbproc;

    static BYTE data[512] = "Hello FreeTDS";

    if (dbinit() == FAIL)
        exit(-1);

    login = dblogin();
    DBSETLUSER(login, "user");
    DBSETLPWD(login, "password");
    dbproc = dbopen(login, "CANCUN");

    dbcmd(dbproc, "use FIDIA_Y2_95_02");
    dbsqlexec(dbproc);
    dbresults(dbproc);

    dbcmd(dbproc, "select * from text_test where id = 1");
    dbsqlexec(dbproc);
    dbresults(dbproc);
    dbnextrow(dbproc);

    if (dbwritetext(dbproc, "text_test.data", dbtxptr(dbproc, 2),
DBTXPLEN,
                    dbtxtimestamp(dbproc, 1), TRUE, (DBINT) strlen((char
*) data), data) == FAIL)
        puts("boing");

    dbexit();
}

Do I miss something here???? 
I figured that tds_process_simple_query() in dbwritetext() returned
FAIL, but further I haven't been able to dig.

Hans.




On Fri, 2006-01-20 at 15:13 +0000, Thompson, Bill D (London) wrote:
> James, Hans,
> 
> there is also (in Sybase) a dbtextsize() function 
> which is related to dbreadtext() which we HAVE implemented.
> 
> http://sybooks.sybase.com/onlinebooks/group-cn/cng1250e/dblib/@ebt-link;
> pt=40316?target=%25N%15_28803_START_RESTART_N%25
> 
> again, not too difficult to implement, if you look at the code we've
> written for dbreadtext.
> 
> Bill
> 
> -----Original Message-----
> From: freetds-bounces at lists.ibiblio.org
> [mailto:freetds-bounces at lists.ibiblio.org] On Behalf Of Lowden, James K
> Sent: 20 January 2006 14:49
> To: FreeTDS Development Group
> Subject: Re: [freetds] db-lib dbtextsize implementation
> 
> 
> > From: Hans Kramer
> > Sent: Friday, January 20, 2006 6:51 AM
> > 
> > How hard is it to implement dbtextsize?
> > 
> > I am familiar with C and db-lib ...  but not with TDS. Can anybody
> > give me some pointers.
> > 
> 
> Not too hard.  Cf. src/dblib/dblib.c::dbsetopt().  I think it would be
> similar to DBDATEFORMAT; format the correct string for the server and
> add it to the command buffer.  It will be sent the next time the buffer
> is flushed to the server.  
> 
> --jkl
> 
> -----------------------------------------
> The information contained in this transmission may be privileged and
> confidential and is intended only for the use of the person(s) named
> above. If you are not the intended recipient, or an employee or agent
> responsible
> for delivering this message to the intended recipient, any review,
> dissemination,
> distribution or duplication of this communication is strictly
> prohibited. If you are
> not the intended recipient, please contact the sender immediately by
> reply e-mail
> and destroy all copies of the original message. Please note that we do
> not accept
> account orders and/or instructions by e-mail, and therefore will not be
> responsible
> for carrying out such orders and/or instructions.  If you, as the
> intended recipient
> of this message, the purpose of which is to inform and update our
> clients, prospects
> and consultants of developments relating to our services and products,
> would not
> like to receive further e-mail correspondence from the sender, please
> "reply" to the
> sender indicating your wishes.  In the U.S.: 1345 Avenue of the
> Americas, New York,
> NY 10105.
> _______________________________________________
> FreeTDS mailing list
> FreeTDS at lists.ibiblio.org
> http://lists.ibiblio.org/mailman/listinfo/freetds
> --------------------------------------------------------
> 
> If you are not an intended recipient of this e-mail, please notify the sender, delete it and do not read, act upon, print, disclose, copy, retain or redistribute it. Click here for important additional terms relating to this e-mail.     http://www.ml.com/email_terms/
> --------------------------------------------------------
> _______________________________________________
> FreeTDS mailing list
> FreeTDS at lists.ibiblio.org
> http://lists.ibiblio.org/mailman/listinfo/freetds
> 
-- 
As a little boy I jumped through Windows .... as a man I swim with
Penguins.



More information about the FreeTDS mailing list