SQL Anywhere 10 does not report database connection failures on the server when there is an underlying TCP/IP error.
From looking through the docs I've found an auditing feature for successful and failed connection attempts. This falls short for what we need.
Is it possible to enable a simple text based access log for the database similar to a HTTP server e.g. connection request - ip address - time, connection failure - ip address - time? It would also be good to have close connection requests.
Thanks in advance,
Perhaps I'm misunderstanding, but I assume you're referring to a TCP/IP error between the client and the server (e.g. 'host not found', etc.?) If so, the server may not see all of these errors to be logged, since they are potentially happening at the network level. For these types of failures, you would be better to enable client-side logging (i.e. add "LogFile=clientlog.txt" to your connection string).
Are you seeing these failures often / unexpectedly?
See the 'dbsrv10 -z -o output.txt' console log output switches.
If you would like to create your own logging feature, you can likely do that via the 'Connect / Disconnect' system events and the
Thanks for taking the time to respond.
When I mentioned TCP/IP error it was in the context of an active connection to the database that suffers from a network outage.
Our application using connection pooling which involves the re-use of the same connection many times over a prolonged period. If the network goes down between our application host and database host briefly I would like to see an appropriate error in the database logs.
Since this is an intermittent problem in our production environment it is not suitable for use to run the database in diagnostic mode using the -z server option. I understand that this has a major affect on performance.
Unfortunately the connection events only show connection attempts rathen than the health of existing connections.
answered 22 Jan '13, 10:41