Database
 sql >> Base de Dados >  >> RDS >> Database

Uma solução alternativa para:Não há suporte para cursores em uma tabela que tenha um índice columnstore clusterizado


Na versão 1.7.16, o driver ODBC do Easysoft SQL Server mudou de usar um cursor de cliente para um cursor de servidor quando o comportamento de um aplicativo sugeriu que ele precisava apenas de um subconjunto de dados em um resultado de consulta. Com um cursor de cliente, o banco de dados envia o conjunto de resultados completo em uma única resposta ao driver ao responder a uma consulta. O comportamento 1.7.16+ também imita como o SQL Native Client da Microsoft se comporta a esse respeito.

Uma substituição para esse comportamento foi adicionada na versão 1.8.10 porque se o aplicativo realmente quiser o conjunto de resultados inteiro, o uso de um cursor de servidor tem implicações de desempenho, pois os cursores de servidor são mais lentos. Outra consequência da mudança na versão 1.7.16 é um problema que nos foi relatado por um cliente que estava usando o Cognos no Linux com SQL Server. Ao tentar consultar uma tabela com índices columnstore clusterizados, o cliente recebeu o erro:
"Cursors are not supported on a table which has a clustered columnstore index"

pois os cursores do servidor não são suportados ao usar este recurso. A solução alternativa era reverter para o comportamento anterior para cursores adicionando esta linha à fonte de dados ODBC em /etc/odbc.ini :
[SQLSERVER_SAMPLE]
.
.
.
OVERRIDE=65536