Dans la version 1.7.16, le pilote ODBC Easysoft SQL Server est passé d'un curseur client à un curseur serveur lorsque le comportement d'une application suggérait qu'elle n'avait besoin que d'un sous-ensemble de données dans un résultat de requête. Avec un curseur client, la base de données envoie le jeu de résultats complet dans une seule réponse au pilote lorsqu'il répond à une requête. Le comportement 1.7.16+ imite également le comportement du client SQL natif de Microsoft à cet égard.
Un remplacement de ce comportement a été ajouté dans la version 1.8.10, car si l'application veut réellement l'ensemble de résultats complet, l'utilisation d'un curseur de serveur a des implications sur les performances, car les curseurs de serveur sont plus lents. Une autre conséquence de la modification de la version 1.7.16 est un problème qui nous a été signalé par un client qui utilisait Cognos sur Linux avec SQL Server. Lors d'une tentative d'interrogation d'une table avec des index clustered columnstore, le client a reçu l'erreur :
"Cursors are not supported on a table which has a clustered columnstore index"
car les curseurs de serveur ne sont pas pris en charge lors de l'utilisation de cette fonction. La solution de contournement consistait à revenir au comportement précédent des curseurs en ajoutant cette ligne à la source de données ODBC dans /etc/odbc.ini
:
[SQLSERVER_SAMPLE] . . . OVERRIDE=65536