SQL Server
SQL Server
- El "iqlsrv" es el server (RISE - Reduce Instruction Set Engine):
- Es capaz de recibir de cualquiera de sus clientes sentencias SQL,
interpretarlas, optimizarlas y ejecutarlas sobre el motor de base de
datos Essentia. Ya sea en forma local
o remota via TCP/IP.
- Los front-ends que atiende son:
- El "iqlsrv" esta hecho sobre un "framework" para construir user-servers
desarrollado en InterSoft.
- Basicamente, cada cliente que requiera los servicios del iqlsrv se
conectara a un servicio de red atendido por el inetd quien lanzara al
iqlsrv (ie: la relacion es uno a uno). Si la connecion es local
el inetd no participa; esto es una optimizacion transparente al usuario.
- "iqlsrv" ahorra tiempo de trabajo a Essentia, quien no necesita
entender SQL (interpretar, optimizar, etc, para cada cliente).
- Instalacion:
- La linea en /etc/inetd.conf deberia ser algo asi:
Environ stream tcp nowait root /usr2/isources/rbin/iqlsrv iqlsrv !e/etc/ess.env -b -u 3 -f /tmp/iqlsrv.log
- Despues de configurar estos archivos hay que:
- Ejecutar un (o dos !) kill -HUP al inetd.
- Debe indicarse el nombre de un archivo (ie: iqlsrv !e /etc/ess.env)
que contiene las variables de ambiente que necesita para correr
el iqlsrv (DATADIR, LANGUAGE, ESSENTIA, SERVERS).
- Se pueden redefinir, en el file $HOME/.iqlsrvrc, los variables
seteadas en /etc/ess.env o agregar nuevas.(Se tomara el valor de
DATADIR seteado en /etc/ess.env - por razones de implementacion)
Otros:
- Si el iqlsrv esta corriendo en foreground (para debugging), el
cliente que quiera comunicarse debera conocer la variable de ambiente
SHDBG seteada en 1 (ie: export SHDBG=1 ) . Por ahora, esto no existe para
JDBC.
- Trucos utiles: "netstat -a | grep Environ", telnet, ver mensajes
syslogd, es conveniente al ejecutar el iqlsrv para debug, hacerlo lo
mas parecido posible a la linea de /etc/inetd.conf.
- El iqlsrv DEBE correr como root para hacer la validacion
de permisos correspondiente y, cuando es local, pueda hacer los unlink()
necesarios. Es decir DEBE SER ROOT Y UGO+S (para que funcione en corre
en foreground o con una coneccion local !!).
Tips:
In order to use the iqlsrv Essentia's package must be installed and configured