[freetds] FreeTDS & Sybase SQL Anywhere 11
Frediano Ziglio
freddy77 at gmail.com
Mon Dec 21 04:58:51 EST 2009
2009/12/21 Michal Seliga <michal.seliga at visicom.sk>:
>
>
> On 19. 12. 2009 4:56, James K. Lowden wrote:
>> Michal Seliga wrote:
>>>
>>> - always when i close database connection server reports:
>>> Connection terminated abnormally
>>> Disconnected TCPIP client's AppInfo: HOST=visibuntu;PID=1906
>>> however freetds & odbc don't seem to detect any problem (according to
>>> logs)
>>
>> Which API are you using? Does it happen with bsqldb/bsqlodbc/tsql/sqsh?
> yes, with tsql it happens too
>> A TDSDUMP log of the session would help. If all applications produce the
>> same error, a tcpdump(8) log might be helpful, too, but don't post that
>> until we know we need it.
> tdsdump is attached (freetds.log.gz)
> if it will come to tcpdump please write me what you want me to set, i saw it
> has really lot of switches....
...
Mmm.. you login and after 2 seconds close tsql, right ??
Probably ASA 11 wants the LOGOUT token which we don't send. I would
add a tds_disconnect which would send TDS_LOGOUT token and that close
connection. I noted that we have
- tds_connect_and_login (login.c) which connect and manage login
- tds_connect (net.c) which is a small tds_open_socket wrapper
- tds_close_socket (net.c) which disconnect socket
- tds_open_socket (net.c) which connect the socket
Perhaps tds_disconnect is a bad name... a tds_logout is better but we
would probably like to have a symmetric tds_login.
tds_connect_and_login calls tds_send_login, tds7_send_login and
tds8_do_login but are all static function. Perhaps a
tds_logout_and_disconnect would be a perfect name. This function
should be called before every tds_free_socket function.
freddy77
More information about the FreeTDS
mailing list