Incorrect syntax near the keyword ‘xpto’

​Esse é um erro que ocorre em aplicações que usam o “Microsoft OLE DB Provider for SQL Server​”, ao invés do ‘xpto’ vem o comando que o parser do OLE DB não consegue identificar, podendo ser o WITH, MERGE ou algum outro comando de uma versão mais recente do SQLServer.

Embora seja um bug isso ainda não foi corrigido até a ultima versão do MDAC (2.81.1132.0) liberada para downlod pela Microsoft, isso significa que esse problema ocorrerá em máquinas com o Windows XP instalado, mas em versões recentes do Windows (7 ou 8) esse problema não ocorre, devido a versão do MDAC (6.3.9600.16384) já estar compatível com os novos comandos do SQLServer.

Se você está preso a uma maquina com WindowsXP, como solução paliativa deve ser inserido um ponto e virgula (;) antes do comando que está com problema, no caso do WITH seria necessário colocar o “;” antes do comando que o WITH está sendo utilizado. Essa solução “engana” o parser e passa o comando diretamente pro banco de dados executar.

The following two tabs change content below.
Breno RdV
Ex-Psicólogo, com quase uma década de experiência em Recursos Humanos e Gestão de Pessoas, atual desenvolvedor e Analista de Sistemas, trabalhando com PowerBuilder, C#, PowerShell e expandindo horizontes para Python, Xamarin, PHP, Angular e (por que não?) Unity.

Comments

comments

Posted in Dev, PowerBuilder and tagged , , , , , , , , .