Easysoft Blog

Wed, 18 April 2018

I have upgraded the SQL Server ODBC Driver and performance has been negatively affected. What can I do?

In version 1.7.16, the Easysoft SQL Server ODBC driver changed from using a client cursor to a server cursor when an application's behaviour suggested that it only needed a subset of the data in a query result. With a client cursor, the database sends the complete result set in a single response to the driver when responding to a query. The 1.7.16+ behaviour also mimics how Microsoft's SQL Native Client behaves in this regard.

An override for this behaviour was added in version 1.8.10 because if the application actually does want the entire result set, using a server cursor has performance implications, as server cursors are slower.

To revert to the previous behaviour for cursors, add this OVERRIDE line to your the ODBC data source:

[SQLSERVER_SAMPLE]
.
.
.
OVERRIDE=65536
      

ODBC data sources are normally stored in /etc/odbc.ini.