PDA

Ver la Versión Completa : Quienes trabajan DB2 ?


rolandoj
28-07-2010, 22:28:44
Hola,

La pregunta surge por la escasez de temas, ya que desde hace un año y medio solo se reportan 3 hilos en este foro.

Yo estoy empezando a usar DB2 y con las mismas estoy a punto de abandonarlo porque no he podido solucionar un problema crítuco con decimales; pero, en general me parece muy buen motor y el Centro de Control lo encuentro muy amigable.

Debería haber bastante gente de Delphi trabajando con DB2 ; pero, a juzgar por el contenido del foro, y a pesar de existir versión gratis, casi nadie parece usarlo . Por qué ?

Casimiro Notevi
28-07-2010, 22:49:01
Puede que no tenga mucha aceptación porque proviene de los mainframes de ibm, que no es un entorno habitual entre nosotros.

rolandoj
29-07-2010, 01:20:58
Puede ser una explicación. Es algo para reflexionar; estaría indicando poco trabajo con delphi en entornos de máquinas grandes, lo que es un contrasentido tratandose de una herramienta tan costosa.

También indicaría poco esfuerzo de la gente de delphi para mostrar las bondades de la herramienta con motores de bases de datos robustos.

Creo que sobre esto hay que profundizar

En mi caso, me tiene muy preocupado la falta de soporte técnico para delphi dbExpress db2, porque de no resolver el último problema que tengo con el driver dbExpress - cliente db2 (separador decimal mal interpretado para campo numéricos grandes; o sea , TFmtBCDField), me tocaría regrersarme a Firebird, algo que "políticamente", no tiene presentación.

Casimiro Notevi
29-07-2010, 11:31:56
La política comercial de Embarcadero es "extraña", creo que Delphi no ha contado nunca con un buen respaldo por ninguno de los dueños que ha tenido, no han sabido "venderlo", es una pena porque realmente es una herramienta fabulosa.

En mi caso, me tiene muy preocupado la falta de soporte técnico para delphi dbExpress db2, porque de no resolver el último problema que tengo con el driver dbExpress - cliente db2 (separador decimal mal interpretado para campo numéricos grandes; o sea , TFmtBCDField)

Desconozco dbExpress, si se entregase el código fuente se podría hacer algo, o escribirles a los creadores. Aunque es extraño, es un error demasiado evidente para que se les haya pasado, ¿no crees?

me tocaría regrersarme a Firebird, algo que "políticamente", no tiene presentación.

¿Qué quieres decir con eso?

rolandoj
29-07-2010, 16:49:12
Hola,

Sí, ese error del separador decimal es demasiado evidente y viene desde hace años. Esta reportado en Embarcadero para la versión 2010 (yo tengo la 2007); pero, quién lo reporta informa que incluso le pasa con la 2005. Como si fuera poco, otros reportes indican que vendría al menos desde la versión 7.

De hecho, hay mucha información en Internet respecto al problema. Por qué no lo arreglan ?. Sospecho que el método que usan para interactuar con el cliente DB2 se basa en cadenas de caracteres y no han llegado a un acuerdo con la gente de db2 para poder traer el dato en forma nativa o poder leer cual es el separador decimal que esté usando db2.

El work around es hacer coincidir los separadores decimales; pero, por alguna razón, nada de lo recomendado en los sitios de internet ha funcionado. Aún me quedan recursos e informaré la situación aquí

http://www.clubdelphi.com/foros/showthread.php?t=68958

Respecto a lo de que "políticamente" no tiene presentación es que Firebird ha sido nuestro motor para el desarrollo; pero, para producción se necesita uno más robusto. Se planteó db2 por lo gratis y se migró en tan solo minutos; después de eso, queda muy mal decir que debemos usar Firebird en vez de DB2 por un problema aparente tan simple.

POr otro lado, el caso dbExpress aplica también para llamar a reflexión. Es supuestamente la bandera de Delphi y por lo que he visto tampoco hay muchos que lo usen.

Casimiro Notevi
29-07-2010, 17:40:57
[..] Respecto a lo de que "políticamente" no tiene presentación es que Firebird ha sido nuestro motor para el desarrollo; pero, para producción se necesita uno más robusto. Se planteó db2 por lo gratis y se migró en tan solo minutos; después de eso, queda muy mal decir que debemos usar Firebird en vez de DB2 por un problema aparente tan simple.
[..]

Sigo sin entender, ¿Firebird no es robusto?, ¿o acaso se necesitan algunas características con las que no cuenta?

rolandoj
29-07-2010, 21:53:21
Sigo sin entender, ¿Firebird no es robusto?, ¿o caso se necesitan algunas características con las que no cuenta?

No dije que Firebird no fuera robusto, sino que buscabamos uno más robusto. DB2 cuentas con características y facilidades adicionales, que pensabamos usar más adelante porque primero debemos estudiarlas en detalle. Por ahora, solo hemos hecho la migración rápida; es decir, una equivalencia directa de lo que tenemos en Firebird.

En todo caso, creo que el tema importante en este hilo es el uso que se esté dando de db2. Y por extensión, creo que habría que pensar en un hilo más general para discutir en conjunto los usos de las tecnologías brindadas con Delphi. Tengo la impresión de que el caso de db2 no es único, sino que hay varias características supuestamente importantes que no están siendo usadas sino por pocos programadores.

En mi caso, uno de los problemas que tengo es que al parecer estoy empleando varias que están en esas circunstancias.

radenf
29-07-2010, 22:58:03
Estimado rolandoj:

En el desarrollo de mis aplicaciones siempre uso PostgreSql y anda excelente.
Quisiera probar DB2 por sus características y en especial porque han liberado su versión Express que parece prometer. Ayer la descargué desde la página de IBM y espero poder empezar a trabajar con ella.
¿Puedes indicarme como te conectas a DB2 desde Delphi?
¿Es posible crear aplicaciones con DB2 embebida o sólo funciona conectada al servidor?

Te agradezco de antemano cualquier información
Salu2

rolandoj
29-07-2010, 23:36:57
Estimado rolandoj:

En el desarrollo de mis aplicaciones siempre uso PostgreSql y anda excelente.
Quisiera probar DB2 por sus características y en especial porque han liberado su versión Express que parece prometer. Ayer la descargué desde la página de IBM y espero poder empezar a trabajar con ella.
¿Puedes indicarme como te conectas a DB2 desde Delphi?
¿Es posible crear aplicaciones con DB2 embebida o sólo funciona conectada al servidor?

Te agradezco de antemano cualquier información
Salu2
Hola,

Gracias por comentar. Este no es el hilo adecuado para tú pregunta; pero, con el perdón del moderador, voy a contestarte

El cliente db2 tiene un "truco" de preparación previa. En Windows existe un archivo bastante conocido, el "hosts", que necesita ser modificado. Ese archivo se ubica en el siguiente camino :

C:\WINDOWS\system32\drivers\etc

Abre ese archivo con el block de notas y agrega al final una línea con la dirección IP del equipo servidor donde está tú instalación db2. Por default, ese archivo solo trae la línea para el localhost, o sea:

127.0.0.1 localhost

Debajo de ella, agrega la del que uses para db2, con su respectivo nombre. Lee el comienzo de ese archivo, que ahí explican.

Después de guardar el archivo, ya puedes agregar tú instalación db2 desde el centro de control. Para hacerlo :

1. Abre centro de control.
2. Busca la rama "Todos los Sistemas" y usa el botón derecho del ratón
3. En el menú emergente, escoge la opción Añadir
4. En el cuadro de diálogo que aparece usa el botón Descubrir
5. Te apareerá una lista en la que estará el que añadistes en el host, seleccionalo y usa el botón Bien
6. SE te llenará el cuadro de diálogo con los valores adecuados. Confirmalos usando el botón Bien.
7. Aplica la misma filosofía para ir agregando en los siguientes niveles (Instancias, Bases de Datos)

Encontrarás que es muy intuitivo y las ayudas están a la mano. Lo único que no me ha convencido mucho es que cuando se abre un cuadro de diálogo de Mandatos, o sea el SQL Interactivo, hay que volver a conectarse, ya que según me comentaron, son módulos separados.

Bueno, espero haber ayudado

radenf
30-07-2010, 01:04:42
Muchas gracias rolandoj.
Voy a probar lo que tú me dices.

Salu2

rolandoj
30-07-2010, 16:21:19
Muchas gracias rolandoj.
Voy a probar lo que tú me dices.

Salu2
Hola,

Se me iba olvidando lo de la conexión desde el propio Delphi.

Depende de la tecnología de conexión que uses. En mi caso, yo uso dbExpress, así que es solo editar el archivo dbxconnections.ini, buscar la sección [DB2CONNECTION] y cambiar la línea de Database reemplazando DBNAME por el nombre de la Base de Datos que hayas creado.

Bueno, digamos que es así para empezar; pero hay varias opciones que podrían interesar, incluyendo las del driver como tal que se encuentra en dbxdrivers.ini, y que por default usa db2cli.dll como el driver db2 a utilizar (con db2 viene varios drivers más)