Ver Mensaje Individual
  #2 (permalink)  
Antiguo 24/07/2009, 19:28
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Como programar una aplicación para que trabaje con sqlserver y mysql?

Existen al menos dos caminos, uno eficiente y efectivo, y el otro algo flexible, pero limitado.
Por un lado aclaremos: no hay forma de abstraer completamente el DBMS que usas desde el momento que cada uno de ellos provee de recursos distintos y sintaxis extendida para la versión de SQL. En este sentido, el problema es que tanto los SP como las propias consultas son limitantes a la hora de tratar de hacer una aplicación que pueda funcionar con ambos modelos de base de datos, además de que los SP no son portables entre las plataformas.
La forma mas efectiva y eficiente de esto es en realidad crear una un objeto que concentre la funcionalidad de comunicación con la base de dtos, y que ese objeto pueda ser una instancia de una clase que maneje o SQL Server o MySQL; esto quiere decir que hay que crear dos clases, una para cada uno, con los mismos métodos, los mismos parámetros en cada método, pero que cada uno contenga los recursos propios de esos motores.
No es tan impensable ni tan difícil. El único problema (aparte de migrar el código de cada uno) es que también necesitas construir dos moddelos físicos a implementar por scripts distintos. Uno por DBMS.
Esto último lo puedes hacer con herramientas de diseño, como Enterprise Architect. Con ellas, crear el script de una base sobre un diseño, para cada DBMS es sencillo.
Esta es la técnica que nosotros implementamos.

La otra solución es trabajar con un codigo absolutamente ANSI-SQL, que es portable, pero en ese caso olvídate de los SP, o ls deberás duplicar...
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)