Pergunta

Eu não tenho certeza se isso existe mesmo ou não, então eu percebi que eu iria tocar na sabedoria dos outros ..

Eu queria saber se existem quaisquer bibliotecas Java lá fora, que podem ser usados ??para validar a sintaxe de uma consulta SQL. Eu sei que há muitos desvios da especificação SQL comum, por isso provavelmente só trabalho contra algo como SQL: 2006, mas que certamente suficiente.

Meu objetivo é usar este procedimento para fins de teste de unidade sem a necessidade de tentar a execução contra o DB. Eu sei que é de uso limitado, mas ainda seria útil.

Obrigado!

Foi útil?

Solução

Eu não acho que existem tais bibliotecas. A sintaxe SQL tem muitos derivados.

Uma possível solução seria a utilização de partes de um código aberto Java puro DBMS como smallsql . Neste projeto você pode criar uma instância do SQLParser . As referências necessárias para a conexão pode ser removido facilmente.

Outras dicas

Talvez você pode usar Antlr, tem um número de SQL gramáticas e uma Java biblioteca , bem como plugins para vários IDEs Java.

Ou como recomendado, utilize o analisador de utilitários SQL de código aberto como SQuirreL SQL cliente .

Geral SQL Analisador pode fazer desligada SQL sintaxe verificar . bancos de dados suportados:. Oracle, DB2, MySQL, SQL Server, Teradata e PostgreSQL

Tente JSQL analisador .

Além de validar, você obter uma representação significativa da consulta.
Isso permite que você, por exemplo, para aceitar apenas "certas" comandos; manipular
a consulta, "embelezar"-lo, etc.

Você pode ser capaz de extrair o código de análise a partir HSQL , que é java e open source.

Apache Derby é um banco de dados SQL open source implementado inteiramente em Java e disponível sob o Apache License, Versão 2.0 . Foi anteriormente conhecido como IBM Cloudscape .

Pode tentar reutilizá-lo é analisar código de org.apache.derby.impl.sql.

Com JOOQ você nunca vai cometer um erro em SQL. compilador Java vai cuidar disso.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top