Mudanças entre as edições de "O erro MySQLSyntaxErrorException: command denied"

De Wiki Integrator do Brasil
Ir para: navegação, pesquisa
Linha 2: Linha 2:
  
 
1. O usuário não possui permissão adequada ao banco de dados. Neste caso, veja os seguintes tópicos: <br />
 
1. O usuário não possui permissão adequada ao banco de dados. Neste caso, veja os seguintes tópicos: <br />
* [[Erro_de_Permissão_ou_Privilégio_em_Functions,_Views_e_Procedures| Erro de Permissão ou Privilégio em Functions, Views e Procedures]
+
* [[Erro de Permissão ou Privilégio em Functions, Views e Procedures]]
 
* [[Erro de privilégio no banco de dados MySQL]]
 
* [[Erro de privilégio no banco de dados MySQL]]
  

Edição das 04h04min de 16 de março de 2016

Este erro é comum em aplicações Java e podem ocorrer dentro das situações informadas abaixo:

1. O usuário não possui permissão adequada ao banco de dados. Neste caso, veja os seguintes tópicos:

2. A query em questão foi gerada por assistente de um aplicativo, então, recomendamos analisar a sintaxe em questão. Como no servidor online, na hospedagem padrão, há uma exigência de prefixo, exige-se uma mudança no fonte do aplicativo.
Muitas vezes está contido o nome do banco de dados, junto a tabela e seu respectivo campo. Por exemplo, o erro é apresentado em relatório JasperReports onde, no fonte de um .jrxml, vemos a sintaxe contida com o nome do banco de dados que precisa ser removido:

<queryString>
	<![CDATA[SELECT relatorios.produtos.`ProdutoID`, relatorios.produtos.`ProdutoNome`, relatorios.produtos.preco FROM produtos]]>
</queryString>


3. A query é gerada pela JPA ou Hibernate. O MySQL online é sensível a letras maiúsculas e minúsculas. Observe se a query não está com palavras em maiúscula na geração da sintaxe, no nome da tabela, sendo que originalmente, online, é tudo em minúsculo.

select * from Produto

Contorne acrescentando a anotação @Table(name = "produto").