Database
 sql >> Database >  >> RDS >> Database

Una soluzione alternativa per:i cursori non sono supportati in una tabella che ha un indice columnstore cluster

Nella versione 1.7.16, il driver ODBC di Easysoft SQL Server è passato dall'utilizzo di un cursore client a un cursore server quando il comportamento di un'applicazione suggeriva che richiedeva solo un sottoinsieme di dati in un risultato di query. Con un cursore client, il database invia il set di risultati completo in un'unica risposta al driver quando risponde a una query. Il comportamento 1.7.16+ imita anche il comportamento di SQL Native Client di Microsoft a questo riguardo.

Nella versione 1.8.10 è stata aggiunta una sostituzione per questo comportamento perché se l'applicazione desidera effettivamente l'intero set di risultati, l'utilizzo di un cursore del server ha implicazioni sulle prestazioni, poiché i cursori del server sono più lenti. Un'altra conseguenza della modifica nella versione 1.7.16 è un problema segnalato da un cliente che utilizzava Cognos su Linux con SQL Server. Quando si tenta di eseguire una query su una tabella con indici columnstore cluster, il cliente ha ricevuto l'errore:

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

poiché i cursori del server non sono supportati quando si utilizza questa funzione. La soluzione consisteva nel ripristinare il comportamento precedente per i cursori aggiungendo questa riga all'origine dati ODBC in /etc/odbc.ini :

[SQLSERVER_SAMPLE]
.
.
.
OVERRIDE=65536