Pregunta

Estamos pensando en migrar nuestra base de datos para Oracle.We necesidad de comprobar manualmente cada uno de los SQL incrustado está trabajando en Oracle tan sólo pueden seguir diferentes SQL rules.Now mi necesidad es muy simple.

necesito para navegar a través de un archivo que puede contener consultas como esta.

cadena SQL = "SELECT * FROM prueba donde name =" + prueba + "y la edad =" + edad;

Hay cerca de 1000 archivos y cada archivo tiene diferentes tipos de consultas de este tipo en las que tengo para arrancar la consulta solo que he hecho a través de una necesidad UNIX script.But I para convertir estas consultas basadas en Java para consultas compatibles de Oracle.

ie. seleccionar * de prueba donde name = "nombre" y la edad = "edad"

Básicamente necesito para comprobar la sintaxis de las consultas por this.I han visto algo como esto en SAPO pero tengo más de 1000 archivos y no se puede cambiar manualmente cada one.Is Hay alguna forma?

voy a explicar más que la pregunta no es clara

¿Fue útil?

Solución

Por razones de rendimiento y seguridad que debe usar PreparedStatement.bind (...) en lugar de la concatenación de cadenas para construir sus cadenas SQL.

No sé de una manera de abordar este problema aparte de fijar el código que necesita ser arreglado. Si usted puede encontrar patrones comunes a continuación, puede automatizar algunas de la edición usando buscar / reemplazar o sed o alguna otra herramienta, siempre y cuando el resultado diff antes de comprobar en.

Si hay miles de archivos que supongo que hay un equipo de tamaño razonable que construyó el código de esta manera. Parece justo para compartir la carga de trabajo a cabo entre las personas que construyeron el sistema, en lugar de volcado todo en una sola persona. De lo contrario, el resultado final será como el "tipo de fijación de SQL" y nadie más en el equipo tendrá ningún incentivo para escribir código SQL en una forma más portátil.

Otros consejos

¿Tiene su aplicación actual de ejecución de SQL a través de una clase común? ¿Es posible añadir un poco de registro para imprimir el SQL prima en esta clase común? Desde que la producción se podría escribir un pequeño script para ejecutar cada una declaración en contra de Oracle.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top