It appears that ODBC Trace may not work if you use ADO.NET database drivers from SA 11. I am establishing a connection with the ODBC DSN "dsn=Calibration Data;uid=user;pwd=pass". Is it supposed to work?
If not, I suppose the recommended way to get Database Tracing Data is to use the Application Profiling mode of Sybase Central, correct? Is this possible for only a single client machine?
Volker is right, the SA ADO.NET driver is not built on top of the ODBC driver. The ADO.NET driver is a native driver. When you connect using a Datasource or DSN, the ADO.NET driver reads the connection information from the registry, but does not invoke the ODBC driver at all.
(Aside: this is a common area of confusion for our users and we need to do a better job of explaining that ODBC datasources are a good choice for storing connection information, but their use by ESQL, ADO.NET or OLE DB does not require the use of ODBC. Our samples make heavy use of ODBC datasources leading some people to think it is a requirement, when it is definitely not.)
I would recommend against using the generic ODBC.NET driver. This driver is a bridge and adds an extra level to everything. As well, we have found the generic driver to be sort of buggy. Our native driver (iAnywhere.Data.SQLAnywhere) works much better and faster.
answered 29 Sep '10, 15:42
Note: Treat this more or less as some wild guess - I'm no expert at all neither in ADO.Net nor in profiling...
AFAIK the SQL Anywhere ADO.Net Driver is a native driver, i.e. it does not sit on top of ODBC (or OLEDB). Therefore it won't leave any ODBC traces. - The fact that you can use an ODBC DSN in the connect string is just a matter of convenience, i.e. the driver knows how to handle these ODBC entries to collect the necessary connection information.
I do not know what exaclty you want to achieve, but besides application profiling, you might try to use the generic ODBC .Net driver (System.Data.Odbc) together with the SQL Anywhere ODBC driver. That combination should leave messages in the ODBC trace log. However, this might change your application's behaviour compared to the SQL Anywhere native driver and as such, it might not help to find out what you're really looking for.
answered 27 Sep '10, 08:09