Re: rowcount not available? [NC]
Cedric ROUVRAIS <[email protected]>
| Newsgroups | gmane.comp.db.tds.freetds |
|---|---|
| Message-ID | <OFDCB83ECD.4BAAF75F-ON85257618.0071732C-85257618.0072139C@us.world.socgen> |
Hi James, I have found the issue and contrarily to what I thought, it isn't dblib. i don't think so. The initial script running on Sybase, simplified :o) exec > aa.lst 2>&1 echo start of the script isql -U user -P pwd -S server -D database<<EOF set rowcount 10 insert table_dst select * from table_src go EOF echo end of the script The correct script exec > aa.lst 2>&1 echo start of the script isql -U user -P pwd -S server -D database<<EOF set rowcount 10 go insert table_dst select * from table_src go EOF echo end of the script In the corrected script I get row count. Don't know why in the first I don't Sorry. just found this. a++ Cedric |------------------------------ | "James K. Lowden" | <jklowden@freetds | .org> | Sent by: | freetds-bounces@l | ists.ibiblio.org | | | 08/20/2009 01:38 | PM | | | Please respond to | FreeTDS | Development Group | <[email protected] | iblio.org> | | To FreeTDS Development Group <[email protected]> cc Subject Re: [freetds] rowcount not available? [NC] Cedric ROUVRAIS wrote: > When I execute select @@ROWCOUNT I get > the correct count that is to say. Why would the rowcount not be > available ? The server knows the rowcount after a statement completes. For non-SELECT, that's when control returns to the application after dbsqlexec(). For SELECT, that's after the last row is fetched by client, when dbnextrow() returns NO_MORE_ROWS. (That is why @@rowcount is always right: you can't select @@rowcount until the prior statement completes.) Whether or not the rowcount is returned to the client depends on a connection option: SET NOCOUNT {ON|OFF}. If you think db-lib is wrong, that it reports the rowcount as unavailable when in fact it *is* available, first confirm: using TDSDUMP, see if a rowcount packet was sent. http://www.freetds.org/tds.html#t253 The DONE packet should have the "rowcount valid" bit set, and the rowcount should be correct. If both those are true for your packet, dbrows() should succeed. HTH. --jkl _______________________________________________ FreeTDS mailing list [email protected] http://lists.ibiblio.org/mailman/listinfo/freetds ************************************************************************* This message and any attachments (the "message") are confidential, intended solely for the addressee(s), and may contain legally privileged information. Any unauthorised use or dissemination is prohibited. E-mails are susceptible to alteration. Neither SOCIETE GENERALE nor any of its subsidiaries or affiliates shall be liable for the message if altered, changed or falsified. *************************************************************************