Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

Convertir consultas mysql a su equivalente en oracle

Estas en el tema de Convertir consultas mysql a su equivalente en oracle en el foro de Bases de Datos General en Foros del Web. Hola. Hay alguna herramienta o alguna metodología para PHP que pueda convertir automáticamente una consulta mysql a su equivalente en oracle? Ejemplo: Consulta para MYSQL: ...
  #1 (permalink)  
Antiguo 09/07/2015, 15:26
 
Fecha de Ingreso: mayo-2013
Mensajes: 40
Antigüedad: 11 años, 5 meses
Puntos: 0
Información Convertir consultas mysql a su equivalente en oracle

Hola.

Hay alguna herramienta o alguna metodología para PHP que pueda convertir automáticamente una consulta mysql a su equivalente en oracle?

Ejemplo:

Consulta para MYSQL:
Código SQL:
Ver original
  1. SELECT * FROM personas LIMIT 5;


Consulta para ORACLE:
Código SQL:
Ver original
  1. SELECT * FROM personas WHERE rownum <= 5;

Hacen lo mismo pero como se puede apreciar cada motor de BD hace algunos cambios en las consultas, hay algo que pueda hacer esto de manera automática?, como lo hace los traductores de ingles a español, en este caso seria traducir consultas mysql a consultas oracle, le estaria muy agradecido al que me pudiera ayudar.

Muchas gracias.
__________________
Alex

Última edición por gnzsoloyo; 09/07/2015 a las 16:32
  #2 (permalink)  
Antiguo 09/07/2015, 15:45
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 18 años, 3 meses
Puntos: 774
Respuesta: Convertir consultas mysql a su equivalente en oracle

NO, tienes que hacerlo por tu cuenta, que creias que hay un boton magico para convertir de un manejador a otro???
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #3 (permalink)  
Antiguo 09/07/2015, 16:14
 
Fecha de Ingreso: mayo-2013
Mensajes: 40
Antigüedad: 11 años, 5 meses
Puntos: 0
De acuerdo Respuesta: Convertir consultas mysql a su equivalente en oracle

En java y .NET hay algo que hace eso con las consultas de bases de datos, por eso estoy consultando si también lo hay para PHP.
__________________
Alex
  #4 (permalink)  
Antiguo 09/07/2015, 16:40
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: Convertir consultas mysql a su equivalente en oracle

No es asi exactamente.
Tanto en uno como otro existen herramientas para "adaptar" el SQL al ANSI-SQL, que es interpretado por todos los DBMS de la misma forma. Por eso es el estándar. Pero no son herramientas capaces de reconocer las distinciones entre una sintaxis propietaria de Oracle en su versión 9i, y la 11g, por ejemplo.
Esto quiere decir que todo "conversor" adolece de limitaciones prácticas, y cualquier conector que sea capaz de generar SQL en forma "automática", no te generará consultas de cierta complejidad. Y es esa complejidad donde residen las ventajas de cada DBMS, donde están optimizados.

¿Se va entendiendo?

Cualquiera que sea la herramienta que uses, siempre hay un enorme margen de cosas donde debes hacerlo a mano.
De hecho, las propias herramientas para generar consultas en SQL Server, o en VS.NET, generan códigos SQL con fallos de optimización para los propios DBMS de Microsoft. Siempre tienes que meter mano en el área de edición a fin de hacerlos prácticos.

¿Cómo se resuelve el tema?

Bueno, en principio, tratando de aislar la aplicación de la base de alguna forma, por ejemplo u ORM. Pero en una cierta fase te encontrarás nuevamente con pulidos manuales.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #5 (permalink)  
Antiguo 09/07/2015, 17:33
 
Fecha de Ingreso: mayo-2013
Mensajes: 40
Antigüedad: 11 años, 5 meses
Puntos: 0
Respuesta: Convertir consultas mysql a su equivalente en oracle

Si, creo que no hay duda de que tocara hacer esos cambios de forma manual, por ahí encontré un ORM llamado Doctrine que hace algo parecido pero por lo que pude ver solo para consultas simples, las consultas complejas si me toca cambiarlas a mano, en todo caso seguiré buscando a ver si encuentro algo que me pueda servir, si alguien sabe de algo por favor compartirlo por aquí, le estaría agradecido de antemano.

Gracias gnzsoloyo por tu repuesta.
__________________
Alex

Etiquetas: mysql
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:17.