Para iniciar Informix-SE, cerciórese de que tiene por lo menos configuradas las variables de entorno $INFORMIXDIR e $INFORMIXSERVER y que ha añadido $INFORMIXDIR/bin a su variable de entorno $PATH. Entonces, simplemente ingresando
< frodo $ dbaccess
comenzará una sesión del sqlexec. Presionando <ENTER le presentará una lista de las bases de datos que usted puede abrir; utilice las flechas para seleccionar su base de datos deseada y presione <ENTER.
A menos que usted esté permitiendo el acceso remoto a una base de datos en su computadora local (la computadora en la cual vive la base de datos), no utilice el sqlexecd. Sin embargo, si insiste, lea este párrafo.
Debido a que sqlexecd se ejecuta como demonio, debe ser comenzado por root. Hay una variedad de maneras de lograr esto. Sin importar cómo usted decidirá hacer esto, se tiene que configurar $INFORMIXDIR. Se tiene que especificar como argumento al sqlexecd un nombre de servidor válido para la base de datos (según lo definido en $INFORMIXDIR/etc/sqlhosts). Vea ¿cómo permito conexiones remotas? para más detalles.
Para iniciar sqlexecd cuando se inicia el sistema (boot time), agregue lo siguiente a rc.local (o dondequiera que esté situado en su sistema). Si usted prefiere los scripts al estilo init de SysV, por supuesto, puede utilizar ese formato. Si no se siente cómodo con el formato anterior use el siguiente formato en rc.local.
export $INFORMIXDIR=/camino/a_la/ubicacion/informix $INFORMIXDIR/bin/sqlexecd nombre_dbservidor
Para comenzar el sqlexecd en cualquier otro momento, ejecute el mismo comando que arriba. Por conveniencia, es común al configurar $INFORMIXDIR y $INFORMIXSERVER en /etc/profile. Muchos sitios, particularmente grandes instalaciones, utilizan unas scripts de inicialización global para fijar éstos y otras variables de entorno relacionadas con Informix.
Al usar dables, no hay necesidad de matar al sqlexec, porque al finalizar dbaccess (bajo circunstancias normales), eliminará los procesos relacionados con el sqlexec en forma automática. Sin embargo, bajo circunstancias anormales, recomiendo fuertemente eliminar a los procesos padres del sqlexec, tal como dbaccess o el shell o el programa compilado con ESQL/C, en lugar de eliminar al sqlexec en sí mismo, puesto que puede, de otra manera, corromper su base de datos. Matar al proceso padre enviará una señal al sqlexec y le dará la oportunidad de cerrarse normalmente.
Esto es lo bastante importante para repetirlo: Nunca elimine al proceso sqlexec a menos que, desgraciadamente, el resto de las soluciones hayan fallado. Hacerlo así, particularmente una base de datos que está usando logs de transacción, existe el riesgo y la probabilidad de estropear su base de datos. Cuando los logs de transacciones están activados, matar al sqlexec potencialmente da lugar a una transacción incompleta, la cual no podrá deshacerse (roll-back): sin el sqlexec, desaparecerán los bloqueos, por lo tanto otros procesos continuarán manipulando los datos parcialmente actualizados. Obviamente que Usted realmente no desea hacer esto! Nunca mate a un proceso sqlexec a menos que usted no tenga absolutamente ninguna otra alternativa.
Por otra parte, es bastante inofensivo matar al sqlexecd. Su único propósito es escuchar en un puerto peticiones de conexiones entrantes, iniciar un proceso sqlexec para servir a esas peticiones, para luego ir nuevamente a escuchar otra petición.
Para convertir códigos de error de Informix-SE en forma entendible, utilice el programa finderr (otra vez, cerciorándose de que $$INFORMIXDIR/bin está en su camino):
finderr <-num devuelve el texto de error para -num finderr <num devuelve el texto de error para -num finderr <+num devuelve el texto de error para num
Puede también buscar el número del error en la guía Informix Error Messages disponible en el sitio Informix's Answer OnLine (véase Informix Documentation).