Curt Russell Crandall wrote:
> No that wasn't the case here. Each select only produces 1 result row.
Are you really sure it was 1 row?
> So, I just did a
>
> $sth->execute(....) or die(...);
> $href = $sth->fetchrow_hashref();
I would try
while ($href = $sth -> fetchrow_hashref)
instead.
> In the method... the method is executed in a loop within the caller.
> With Sybase, it was necessary to insert a finish after the call to
> fetchrow_hashref...
I never seen that and will believe it only if I see some code.
You don't have to call finish if you have fetched _all_ results.
> from what I recall, the error happened at compile time
> and didn't even attempt execution (I could be wrong about that, though).
>
> So for me, there were 2 morals of the story here. First, in regards to
> the original question, it's not necessary to keep doing a prepare just
> because you call finish on the statement handle. Second, avoid Sybase
> whenever possible.
Sybase is a nice database, I don't understand why are you saying this.
> I've been doing most of my DBI development with
> Informix and when I started working with Sybase it's been one problem
> after the other... i.e. no placeholders in statements executing stored
> procs, can't have multiple statement handles open on a db handle with
> AutoCommit off, etc. etc. Some of this may be due to the fact that the
> Sybase driver is not current (I have no choice),
What hinders you to install the current Perl module (DBD::Sybase or
Sybperl)? You can always do that (for example in your home dir).
> but the concensus I've
> heard from people who've worked with Sybase and another db such as Oracle,
> Informix, DB2 is that Sybase is garbage.