O cliente relata que o sistema não está imprimindo a lista de mensalistas (detalhada ou simples).
Caminho: Relatórios : Mensalistas > 'Escolha o tipo de impressão'
Esse erro ocorre devido a uma incompatibilidade de configurações de sessão entre o ADO.NET (Softpark) e o SQL Server:
Consultas que utilizam métodos XML (como o comando FOR XML PATH muito usado para concatenar strings) ou Views Indexadas exigem que a configuração ARITHABORT do SQL Server esteja ligada (ON).
Quando testamos a Stored Procedure direto no SQL Server Management Studio (SSMS), ela funciona porque o SSMS liga o ARITHABORT por padrão.
No entanto, o driver do ADO.NET (via softpark) conecta ao banco com o ARITHABORT desligado (OFF) por padrão, causando a falha na execução da procedure.
Não é necessário alterar o código-fonte do softpark. A melhor prática é corrigir isso diretamente no banco de dados do cliente, garantindo que a sessão utilize a configuração correta independentemente de onde a chamada venha.
Passo a Passo:
Acesse o banco de dados do cliente via SQL Server Management Studio.
Localize a Stored Procedure que está sendo chamada no momento do erro (ex: PROC_SELECT_MENSALISTAS_TERMICA).
Altere o script da procedure de CREATE para ALTER PROCEDURE.
Adicione o comando SET ARITHABORT ON; logo após o comando BEGIN.
Execute o script para atualizar a procedure.
Exemplo Prático de Correção:
SQL:
ALTER PROCEDURE [dbo].[NOME_DA_SUA_PROCEDURE]
AS
BEGIN
-- ADICIONE ESTA LINHA LOGO APÓS O BEGIN:
SET ARITHABORT ON;... RESTANTE DA PROCEDURE ...
Validação
Após rodar o comando ALTER PROCEDURE no banco do cliente, peça para o usuário tentar realizar a impressão ou listar os dados novamente no sistema. A execução deve ocorrer sem erros.