2010-04-05 7 views
1

우리는 우리의 DB를 오라클로 마이그레이션 할 계획입니다. 우리는 수작업으로 각각의 임베디드 SQL이 오라클에서 작동하는지 확인해야합니다. 다른 SQL 규칙을 따르지 않을 수도 있습니다. 이제는 내 필요성이 매우 간단합니다.오라클에 대한 JDBC 쿼리

이렇게 쿼리를 포함 할 수있는 파일을 탐색해야합니다.

String sql = "select * from test"여기서 name = "+ test +"및 age = "+ age;

거의 1000 개의 파일이 있으며 각 파일에는 유닉스 script.But을 통해 수행 한 쿼리 만 단독으로 뽑아 야하는 것과 같은 다른 종류의 쿼리가 있습니다. 그러나이 Java 기반 쿼리를 Oracle 호환 쿼리로 변환해야합니다.

즉. select * from test 여기서 name = "name"및 age = "age"

기본적으로 this에 의해 쿼리의 구문을 검사해야합니다. TOAD에서 이와 비슷한 것을 보았지만 1000 개 이상의 파일이 있고 수동으로 각각을 변경할 수 없습니다. 방법이 있습니까? 내가 질문 내가 더 설명 할 것

는 SQL 문자열을 구축 오히려 문자열 연결보다 PreparedStatement.bind (...)를 사용해야 성능과 보안상의 이유로

답변

2

명확하지 않다.

해결해야 할 코드를 수정하는 것 이외에이 문제를 해결할 방법을 모르겠습니다. 일반적인 패턴을 찾을 수 있다면 찾기/바꾸기 또는 sed 또는 다른 도구를 사용하여 편집하기 전에 결과를 비교하는 한 편집을 자동화 할 수 있습니다.

수천 개의 파일이있는 경우 이 방법으로 코드를 작성한 합리적인 규모의 팀이 있습니다. 시스템을 구축 한 사람들 사이에서 워크로드를 공유하는 것이 공정한 것으로 보인다. 그렇지 않으면 "SQL 고정 사람"으로 끝날 것이고 팀의 다른 누구도 SQL 코드를 더 이식성있는 방식으로 작성하지 않을 것입니다.

0

현재 응용 프로그램이 공용 클래스를 통해 SQL을 실행합니까? 이 공용 클래스에서 원시 SQL을 인쇄하기 위해 일부 로깅을 추가 할 수 있습니까? 그 결과물에서 오라클에 대해 각 문장을 실행하는 작은 스크립트를 작성할 수 있습니다.