sql >> Databáze >  >> RDS >> Database

Řešení pro:U tabulky, která má seskupený index columnstore, nejsou podporovány kurzory

Ve verzi 1.7.16 se ovladač Easysoft SQL Server ODBC změnil z používání klientského kurzoru na serverový kurzor, když chování aplikace naznačovalo, že potřebuje pouze podmnožinu dat ve výsledku dotazu. S klientským kurzorem odešle databáze kompletní sadu výsledků v jediné odpovědi ovladači při odpovědi na dotaz. Chování verze 1.7.16+ také napodobuje, jak se v tomto ohledu chová nativní klient SQL společnosti Microsoft.

Přepsání tohoto chování bylo přidáno ve verzi 1.8.10, protože pokud aplikace skutečně požaduje celou sadu výsledků, použití kurzoru serveru má dopad na výkon, protože kurzory serveru jsou pomalejší. Dalším důsledkem změny ve verzi 1.7.16 je problém, který nám nahlásil zákazník, který používal Cognos na Linuxu s SQL Serverem. Při pokusu o dotaz na tabulku se seskupenými indexy columnstore se zákazníkovi zobrazila chyba:

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

protože kurzory serveru nejsou při použití této funkce podporovány. Řešením bylo vrátit se k předchozímu chování kurzorů přidáním tohoto řádku do zdroje dat ODBC v /etc/odbc.ini :

[SQLSERVER_SAMPLE]
.
.
.
OVERRIDE=65536

  1. Úvod do SQL příkazů

  2. Jak Access komunikuje se zdroji dat ODBC? Část 2

  3. Hibernate, Postgresql:Sloupec x je typu oid, ale výraz je typu byte

  4. „O“ v ORDBMS:PostgreSQL Inheritance