Wilbert Herrera

Pensando en voz Alta? No. Pensando en voz Blog.

Funciones y procedimientos

Publicado por Wilbert Herrera Flores on Abril 17, 2008

Es posible crear funciones en Informix? La respuesta es si, pondremos un ejemplo sencillo:

create function sumar(a integer, b integer) returning integer

return a + b;

end function ;

La anterior función simplemente suma dos enteros, y

create procedure sumar(a integer, b integer) returning integer

return a + b;

end procedure ;

También suma dos enteros, entonces cuál es la diferencia? Ninguna, para Informix ambas definiciones son similares, si se declara ambas expresiones en un mismo código el segundo creará un error que nos dice que ya existe una rutina con el mismo nombre.

Por lo tanto es indistinto crear funciones o procedimientos, claro está que estos deben retornar algún valor, y lo mismo es llamar ya sea con procedure o function, es decir si declaramos como Función uno puede ejecutarlos:

execute function sumar(2,4);

o

execute procedure sumar(2,4);

o en una consulta

select sumar(ord_cantact, ord_cantant)

from orders;

Y lo mismo ocurre si se declara como Procedimiento.

Publicado en Informix | Etiquetado: , , , | Sin Comentarios »

El chiste de twitter

Publicado por Wilbert Herrera Flores on Abril 15, 2008

Ya antes había leído sobre twitter, una aplicación microbloging que te permite enviar pequeños comentarios o mensajes (tipo blog) respondiendo principalmente a la pregunta “Qué es lo que estas haciendo?”.

Estuve probándolo y no lo encontré un uso atractivo, ya que el chiste es tener un móvil con conexión a Internet que te permita enviar mensajes sobre lo que estás realizando lejos de una pc, mensajes como por ejemplo: Llueve por la autopista.

Por ahora los costos de Internet en Bolivia son todavía elevados y twitter no pasa a ser una aplicación interesante y simplemente lo use para plasmar ideas hasta que me contradiga de lo anterior.

Publicado en Pienso en... | Sin Comentarios »

Cómo conectar bases de datos en Informix

Publicado por Wilbert Herrera Flores on Abril 15, 2008

Es una tarea muy frecuente en bases de datos el tener que compartir datos entre bases diferentes que se encuentran físicamente en diferentes servidores, acá va la receta que tuve que aplicar, para ello:

srv_local(10.1.10.152): servidor de donde deseo llamar mis rutinas, donde se encuentra la base de datos informix bdd_local

srv_remoto(10.1.10.90): servidor a donde deseo conectarme, servidor de base de datos informix donde se encuentra bdd_remoto

1. Lo primero es establecer relaciones de confianza según:

a. En serv_local loguearse con el usuario Informix con el objecto de modificar el archivo $INFORMIXDIR/etc/sqlhosts de la siguiente manera (tli_con Puerto 1527 configurado en /etc/services)

bdd_local onsoctcp 10.1.10.152 tli_con

bdd_remoto onsoctcp 10.1.10.90 1525

b. En serv_remoto loguearse con el usuario Informix modificando el archivo $INFORMIXDIR/etc/sqlhosts de la siguiente manera (sqlexec Puerto 1525 configurado en /etc/services)

bdd_remoto onsoctcp 10.1.10.90 sqlexec

bdd_local onsoctcp 10.1.10.152 1527

2. Con root en 10.1.10.90 crear (si no existiese) el archivo /etc/hosts.equiv agregando simplemente el nombre del servidor:

srv_local

Ojo que este servidor también se debe declarar en /etc/hosts

3. crear en 10.1.10.90 un usuario (p.e. usr_con) idéntico declarado en 10.1.10.152 con el que te conectarás a la base srv_local y conceder los permisos respectivos de acceso a la base(connect, dba, etc.).

4. establecer de manera transaccional las dos base de datos en sus respectivos servidores, para 10.1.10.152

#ontape –s –B bdd_local

Y para 10.1.10.90

#ontape –s –B bdd_remoto

5. Por último la manera de conectarse desde el serv_local es:

Nom_esquema@bdd_remoto:tabla

Publicado en Informix | Etiquetado: , , , | Sin Comentarios »