Hi, asked 19 Nov '12, 02:46 Arthoor |
If you happen to be using Powerbuilder for your client software: We saw a similar problem when moving from SQL Anywhere 9 to 12, which turned out to be a bug in Powerbuilder (http://search.sybase.com/kbx/changerequests?bug_id=639236). This was fixed in Powerbuilder EBF 11.5.1.4843. answered 22 Nov '12, 09:01 Luke That was the case. Thank you very much!
(22 Nov '12, 09:32)
Arthoor
1
You're welcome - I logged the bug myself so it's nice to see someone else benefit from the fix.
(22 Nov '12, 09:43)
Luke
|
The SQL Anywhere ODBC client never automatically reconnects a dropped connection, nor has it ever done so. As far as I am aware, none of the SQL Anywhere client interfaces reconnect automatically on a dropped connection. I know that Interactive SQL can reconnect after a dropped connection, but that is not done at the client API level. I believe the reconnect that you are seeing must be being done by something higher up that the ODBC driver. That could be the driver manager (although I am not aware of driver managers that reconnect), your application, or your application development tool. If you can reproduce this you can enable ODBC tracing in the driver manager. In the trace I am pretty sure you will see additional ODBC calls that are reconnecting - demonstrating that the ODBC driver itself is not doing the reconnecting. answered 19 Nov '12, 09:22 Ian McHardy I start thinking that ODBC driver has no influence to such behavior because it works the same on SA11 server using ASA9 driver.
(20 Nov '12, 07:19)
Arthoor
2
IMHO you should have a look at the application (or talk to the developers). Very likely the connection is restablished by some layer of the application and not by the database server. We have some logic of that kind in our applications, to recover from short connection failures.
(20 Nov '12, 08:41)
Reimer Pods
Replies hidden
3
The SQL Anywhere server does not and cannot automatically re-establish a client connection. It must be done on the client side, and as I said before, it is not done by the ODBC driver itself.
(20 Nov '12, 08:43)
Ian McHardy
We can't find anything uncommon in the application. I've put a LOG option into connection string, so I see some differences in ASA9 and SA11 errors. 10:18:55 [ 1149] Connection terminated abnormally; server socket shut down 10:19:11 [ 1149] Communication function i_cs_HandleSQLPresError code 6 10:19:11 [ 1149] Communication function StrmGetInd code 3 10:19:11 [ 1149] Client disconnected SA11: 10:29:24 [ 3484] Connection terminated abnormally; server socket shut down 10:29:31 [ 3484] Communication function i_cs_HandleSQLPresError code 4 10:29:31 [ 3484] Communication function StrmGetInd code 2 10:29:31 [ 3484] Client disconnected May these differences help to find the reason of different behavior?
(22 Nov '12, 04:25)
Arthoor
|
Do you use connection pooling? Which client technique do you use (ODBC, JDBC ...)?
ODBC. No, connection pooling is not used in that application.