2010-08-03 11 views
3

데이터베이스에서 실행하기 전에 쿼리 구문 유효성을 검사하기위한 프런트 엔드 또는 언어의 sql 쿼리 유효성 검사기가 있습니까? 현재 프로젝트에서 플렉스에서 SQL 쿼리의 유효성을 검사해야만 끝내, 그것은 데이터베이스를 치고 DB를 치고 예외와 함께 돌아 오는 전에 너무 많은 비용이 많이 드는 과정입니다 많은 레이어를 통과해야합니다. 그래서 프론트 엔드에서 SQL 쿼리 유효성 검사기를 필요로 메신저 그것의 유효한 검색어를 말해.sql 쿼리 유효성 검사기

+0

염두에두고있는 특정 데이터베이스는 무엇입니까? 한 데이터베이스에서 유효한 SQL은 다른 데이터베이스에서 유효하지 않을 수 있습니다. – Oded

+0

아니요. 우리는 모든 DB를 지원해야합니다. – Bhaswanth

+0

SQL은 정적입니까 (또는 매개 변수가 제한적입니까?) 또는 동적입니까? 정적 인 경우 프로젝트 개발 중에 평가할 수 있습니다 (아마도 괜찮습니까?). 동적 인 경우 여러 유형의 DB로 보내기 전에 유효성을 검사하기 위해 앱 내부에 플러그인이 있어야합니다 (올바르게 읽은 경우). 이것은 다소 편향적인 해결책처럼 들립니다. – Tobiasopdenbrouw

답변

1

당신은 SQL BNF grammar 잡아 입력의 유효성을 검사 parser generator를 사용할 수 있습니다.

나는 표준 문법을 조정해야 할 것이라고 확신한다. 이것은 사소한 것이 아니다. 또한 더 나은 것을 찾을 수있을 것이라고 확신하지만 위의 내용이 도움이 되었기를 바랍니다.

+0

나중에 .. 이건 lil 비트 도움이됩니다. 그것으로 보일 것입니다 .. 감사합니다 :) – Bhaswanth

1

런타임시 SQL 구문 분석은 다음을 볼 수 있습니다. SQL4J는 Java로 작성된 SQL 구문 분석기입니다.

http://jsqlparser.sourceforge.net/

http://www.cs.toronto.edu/~jglu/sql4j/index.htm

은 아마 당신은 그것을 SQL 문법을 가지고 있습니다, ANTLR을 사용할 수 있습니다. http://www.antlr.org/grammar/list

또는 권장 사항에 따라 SQuirreL SQL Client와 같은 오픈 소스 SQL 유틸리티의 파서를 사용하십시오. http://squirrel-sql.sourceforge.net/

또는 SmallSQL과 같은 오픈 소스 순수 Java DBMS의 일부를 사용하십시오. http://www.smallsql.de/

IDE에서 SQL의 유효성을 검사하는 Eclipse IDE 플러그인이 있습니다.

체크 아웃 : http://www.eclipse.org/datatools/

+0

하지만 그 사람 jus 한 번 tht 너무 사용자 개입에 의해 유효성 검사 할 수 있습니다. 내 요구 사항은 플렉스에서 사용자가 단추 또는 일부 작업을 클릭하여 사용하여 쿼리를 생성 할 것입니다 tht입니다. 생성 된 쿼리 구문을 통해 자체를 통해 유효성을 검사해야합니다. 코드 조각. – Bhaswanth

+0

@Bhaswanth 그래서 동적으로 쿼리를 생성합니까? 그것은 쿼리가 아니며 사용자가 쿼리를 위해 선택한 기준이나 값을 전달하기 만하면됩니까? – YoK

+0

@ YoK, 그가 디버깅 도구/예외 처리기로 사용하고 있음을 이해할 수 있습니다. – Unreason