Domanda

Stiamo progettando di migrare il nostro DB Oracle.We necessità di controllare manualmente ciascuno dei SQL incorporato sta lavorando in Oracle come pochi possono seguire SQL diverso rules.Now mio bisogno è molto semplice.

Ho bisogno di sfogliare un file che può contenere query come questo.

String sql = "select * from test in cui name =" + prova + "e l'età =" + età;

Ci sono quasi 1000 file e ogni file ha diversi tipi di query come questo, dove devo cogliere la query da solo che ho fatto attraverso un bisogno unix script.But ho convertire queste query basate su Java per le query compatibili Oracle.

es. select * from test in cui name = "nome" e l'età = "età"

Fondamentalmente ho bisogno di controllare la sintassi delle query da this.I aver visto qualcosa di simile in ROSPO ma ho più di 1000 file e non posso cambiare manualmente ogni one.Is esiste un modo?

vi spiegherò più mi la questione non è chiaro

È stato utile?

Soluzione

Per motivi di prestazioni e di sicurezza si dovrebbe usare PreparedStatement.bind (...) invece di concatenazione di stringhe per costruire le vostre stringhe SQL.

Non so di un modo per affrontare questo problema diverso da quello che fissa il codice che deve essere risolto. Se è possibile trovare modelli comuni, allora è possibile automatizzare alcune delle editing usando find / sostituire o sed o qualche altro strumento, fino a quando si diff il risultato prima del check-in.

Se ci sono migliaia di file credo che ci sia una squadra di dimensioni ragionevoli che ha costruito il codice in questo modo. Mi sembra giusto condividere il carico di lavoro fuori tra la gente che ha costruito il sistema, invece di discarica tutto su una sola persona. In caso contrario, si finirà come il "ragazzo di fissaggio SQL" e nessun altro sulla squadra avrà alcun incentivo a codice SQL scrivere in un modo più portabile.

Altri suggerimenti

La vostra applicazione corrente eseguire SQL attraverso una classe comune? Potrebbe aggiungere un po 'di registrazione per stampare lo SQL prima in questa classe comune? Da che l'uscita si potrebbe scrivere un piccolo script da eseguire ogni dichiarazione contro Oracle.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top