Database
 sql >> база данни >  >> RDS >> Database

Заобиколно решение за:Курсорите не се поддържат в таблица, която има клъстериран индекс на columnstore

Във версия 1.7.16 ODBC драйверът на Easysoft SQL Server се промени от използване на клиентски курсор на сървърен курсор, когато поведението на приложението предполагаше, че то се нуждае само от подмножество от данни в резултат от заявка. С клиентски курсор базата данни изпраща пълния набор от резултати в един отговор до драйвера, когато отговаря на заявка. Поведението 1.7.16+ също имитира как се държи SQL Native Client на Microsoft в това отношение.

Отмяна на това поведение беше добавена във версия 1.8.10, защото ако приложението наистина иска целия набор от резултати, използването на сървърен курсор има последици за производителността, тъй като сървърните курсори са по-бавни. Друга последица от промяната във версия 1.7.16 е проблем, съобщен ни от клиент, който използва Cognos на Linux със SQL Server. Когато се опита да направи заявка за таблица с клъстерирани индекси на columnstore, клиентът получи грешката:

"Cursors are not supported on a table which has a clustered columnstore index"

тъй като сървърните курсори не се поддържат при използване на тази функция. Заобиколното решение беше да се върнете към предишното поведение за курсорите чрез добавяне на този ред към източника на ODBC данни в /etc/odbc.ini :

[SQLSERVER_SAMPLE]
.
.
.
OVERRIDE=65536

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Python REST API с Flask, Connexion и SQLAlchemy – част 3

  2. Как да изчислим разликата между две дати и времена в T-SQL

  3. Открийте 10 по-малко известни възможности на SQL Diagnostic Manager

  4. StarJoinInfo в планове за изпълнение

  5. SQL справочна таблица:Как да създавате и пишете основни заявки