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: Function, Informix-SQL, Procedure, SQL | Sin Comentarios »
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 »
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: bases de datos, conexión, Informix, Linux | Sin Comentarios »