http://qs321.pair.com?node_id=885906


in reply to Sybperl 2.18 and temporary tables

Yikes!

I didn't know that anyone still used the Sybperl.pm module!

Could you please post an actual bit of perl code that illustrates the problem (with a generic SQL statement, maybe a select from sysobjects or something like that) so that I can try to reproduce it?

Thanks.

Michael

Replies are listed 'Best First'.
Re^2: Sybperl 2.18 and temporary tables
by Redwing (Initiate) on Feb 04, 2011 at 22:16 UTC

    Michael,

    Thank you for your reply.

    Yikes indeed - I'm afraid in this new job I started I've gotten into a sort of an "Office of the Future in the Land That Time Forgot" type situation. One of the other technologies they're asking me to upgrade is 22 years old! (dtksh).

    At any rate I remembered a similar problem with Sybase::CTlib from years ago and realized what I was doing wrong. For the edification of others who are putting in far too many hours:

    My problem code looked like this:

    &dbcmd($proc, "SELECT crdate into #tmp_table FROM sysobjects \n"); &dbcmd($proc, "SELECT * FROM #tmp_table \n"); &dbsqlexec($proc);

    What I was forgetting was that when you're doing a select into a table followed by a select out of that table you need an additional &dbsqlexec($proc); in between the 2 statements the same way you need an intervening &executesql; when using Sybase::CTlib:

    &dbcmd($proc, "SELECT crdate into #tmp_table FROM sysobjects \n"); &dbsqlexec($proc); &dbcmd($proc, "SELECT * FROM #tmp_table \n"); &dbsqlexec($proc);

    Now I can gleefully return to upgrading those 22 year old dtksh CGI scripts to the latest 17 year old version!

    Thanks very much for taking the time to respond! Redwing