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

En løsning til:Markører understøttes ikke på en tabel, som har et klynget kolonnelagerindeks

I version 1.7.16 ændrede Easysoft SQL Server ODBC-driveren sig fra at bruge en klientmarkør til en servermarkør, når en applikations adfærd antydede, at den kun behøvede en delmængde af dataene i et forespørgselsresultat. Med en klientmarkør sender databasen det komplette resultatsæt i et enkelt svar til driveren, når den svarer på en forespørgsel. 1.7.16+-adfærden efterligner også, hvordan Microsofts SQL Native Client opfører sig i denne henseende.

En tilsidesættelse af denne adfærd blev tilføjet i version 1.8.10, fordi hvis applikationen faktisk vil have hele resultatsættet, har brug af en servermarkør præstationsimplikationer, da servermarkører er langsommere. En anden konsekvens af ændringen i version 1.7.16 er et problem, der blev rapporteret til os af en kunde, der brugte Cognos på Linux med SQL Server. Da kunden forsøgte at forespørge en tabel med klyngede kolonnelagerindekser, fik kunden fejlen:

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

da servermarkører ikke understøttes, når du bruger denne funktion. Løsningen var at vende tilbage til den tidligere adfærd for markører ved at tilføje denne linje til ODBC-datakilden i /etc/odbc.ini :

[SQLSERVER_SAMPLE]
.
.
.
OVERRIDE=65536

  1. Antal unikke værdier

  2. Hvordan Tan() virker i PostgreSQL

  3. SQLite Node.js

  4. Fejl ved sletning af database (kan ikke sende '.test\', fejlnr.:17)