Power Builder - AYUDA, no se como hacerlo

 
Vista:

AYUDA, no se como hacerlo

Publicado por Koy (2 intervenciones) el 05/05/2003 22:08:38
Hola, soy nuevo trabajando con powerbuilder, en mi trabajo me han pedido que las aplicaciones que haga puedan trabajar sin ningun problema con ASA, SQL SERVER y ORACLE, pero no se como hacerlo, que mis consultas sean compatibles con los 3 manejadores.

¿Alguien me puede orientar acerca de como hacer que mis ventanas, datawindows, etc, funcionen con esos 3 manejadores?, les agradecería eternamente.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:AYUDA, no se como hacerlo

Publicado por David (45 intervenciones) el 05/05/2003 23:32:04
Hola, va a ser dificil que lo consigas pues el sql server y el oracle tiene sus diferencias, de ASA no te digo nada pues nunca he trabajado pero debe tener diferencias.
Alguna vez en uno de mis trabajos pidieron algo similar y en la mayoria de los casos tenia una libreria con los dw (inclusive window y a veces funciones) para oracle, otra para sql otra para db2. Tambien teníamos algunos dw y funciones que llamaban a sql que eran basicos por lo que se podia usar un select standar pero estos eran muy pocos.
En todo caso, si la idea es que solo se tenga un codigo fuente te puedo dar algunos tips que son los que siguen:
1.- Usa sentencias SQL estandares, no apliques caracteristicas propias de la base de datos.
2.- No hagas referencias a tablas de sistemas pues en este caso sería diferente para cada base de datos.
3.- En los datawindows usa la sintaxis en lugar de usar el metodo grafico donde ves las tablas y las relacionas.
4.- Ten cuidado con la sintaxis de los Left Join, Right Join.
5.- Evita usar los prefijos delante de las tablas como por ejemplo: select campo1,campo2 from DBO.almacen

En lo personal, dudo que se pueda crear una aplicación que tenga un solo código sql y que trabaje en diferentes bases, como puedes ver solo funcionaria para dw muy sencillos y ni que decir de los store procedure, alli si tendrías que usar sp diferentes, tambien tienes el problema de los trigger, pero es posible que no tengas que usarlos.

Bueno, espero haberte ayudado a planear el trabajo pero creo que no es el camino, en todo caso estoy a tu disposición.

Saludos desde Perú
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:AYUDA, no se como hacerlo

Publicado por Milson Cardona (613 intervenciones) el 06/05/2003 15:30:56
Un saludo especial desde COLOMBIA

Bueno, estuve leyendo el comentario que dió David y estoy totalmente de acuerdo con él, será muy dificil que puedas hacer un código SQL estandar para los tres motores ya que cada uno de ellos aunque tienen la misma base, utilizan también sus propias funciones....

David te propuso crear librerias distintas para almacenar los objetos que crees para cada motor, YO además te propongo que hagas un ejecutable diferente para cada caso relacionando solo las librerias que utiliza cada motor, con esto te evitas que el aplicativo quede muy grande y pesado a la hora de correr....

en sintexis (No se si sea lo correcto, pero al menos si lo más práctico), es que tengas tres aplicaciones separadas pero iguales, cada una de ellas con las sintaxis para cada motor, así si te piden instalar la aplicación para un motor ORACLE, solo te llevas la aplicación que corre con ORACLE (1/3 mas pequeña que si hicieras un solo aplicativo para los 3 motores), lo mismo para ASA y para SQL SERVER...

de esta manera trabajan los paquetes que conozco, tienen distribuciones para cada motor (ejecutables diferentes)...

espero que te sirva de algo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:AYUDA, no se como hacerlo

Publicado por David (45 intervenciones) el 06/05/2003 21:14:37
Hola,
Solo para complementar la idea que expuse: al tener librerias separadas con dw diferenciados por base de datos, al momento de generar el ejecutable desmarco las librerias de los dw relacionados a las base de datos que no voy a usar; la conveniencia de esto es no tener versiones separadas totalmente de la aplicación, una por cada base, porque podria ser que en algun momento no sepa cual esta actualizada.

Solo por curiosidad hago la siguiente pregunta ¿no se trata de que un sistema interactue "a la vez" con bases de datos diferentes? ya que en ese caso el enfoque es totalmente diferente.

Saludos desde Perú
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:AYUDA, no se como hacerlo

Publicado por Koy (2 intervenciones) el 06/05/2003 22:27:12
No, no se trata de interactuar, sino de que el sistema corra igual en cualquiera de las bases de datos. Un amigo me sugirió que creara las librerias para cada BD, como ustedes me dicen, pero que las incluya todas en el ejecutable y al correrlo detecte que base de datos estoy usando seleccione automaticamente la libreria hecha para esa BD e ignore las demás.

¿Que opinan ustedes?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:AYUDA, no se como hacerlo

Publicado por Ricardo (1957 intervenciones) el 06/05/2003 22:34:22
Es una de tantas opciones, Esa opcion a mi me parece correcta, ya que no me parece correcto tener ejecutables para cada DB, pero como te decia son opciones para que tu las evalues y decidas.

Saludos!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar