SQL Server
SQL Server
- The "iqlsrv" the RISE (Reduce Instruction Set Engine) server:
- It is able to receive SQL statements from any of its clients, then
interpret them, optimize them and execute them over the
Essentia database engine, either in local or remote
form via TCP/IP.
- The front-ends that it handles are:
- El "iqlsrv" is done over a "framework" to build user-servers
developed at InterSoft.
- Basically, each client requiring the iqlsrv services
will connect to a network service managed by the inetd prcess, which will launch the
iqlsrv (i.e., the relation is one to one). If the connection
is local, the inetd does not participate; this is
an optimization which is transparent for the user.
- "iqlsrv" saves work time at Essentia, which does not need to understand the
SQL, nor interpret or optimize it, for each client.
- Instalation
- The line in /etc/inetd.conf must be something like:
Environ stream tcp nowait root /usr2/isources/rbin/iqlsrv iqlsrv !e/etc/ess.env -b -u 3 -f /tmp/iqlsrv.log
- If you are going to work with the java classes (JDBC) it should be like this:
Environ-java stream tcp nowait root /usr/local/inter-soft/iqlsrv-1.3-2/rbin/iqlsrv iqlsrv !e/etc/ess.env -b -u 3 -j -f/tmp/jiqlsrv.log
- After configuring these files, one needs to perform the
following steps:
- Execute (probably twice!) kill -HUP to inetd.
- A file name must be specified (ie: iqlsrv !e /etc/ess.env)
which holds the environment variables that are needed to run the
iqlsrv (DATADIR, LANGUAGE, ESSENTIA, SERVERS).
- In the $HOME/.iqlsrvrc file, the variables set in /etc/ess.env
can be redefined and new variables can be added. (The value of
DATADIR is taken from the /etc/ess.env file, for implementation reasons)
Other:
- If the iqlsrv is running in foreground (for debugging),
the client who wants to communicate must know the environment variable
SHDBG, set to 1 (i.e., export SHDBG=1 ). At present, this does not exist for
JDBC.
- Useful tricks: "netstat -a | grep Environ", telnet localhost 7100, see syslogd
messages (or man page), it is convenient to execute the iqlsrv for debugging,
do it in the most similar way to the line in /etc/inetd.conf.
- The iqlsrv MUST be running as root, to make the corresponding
rights validation and, when local, to make the necessary unlink()'s.
That is, IT MUST BE ROOT (chown root iqlsrv) AND UGO+S (chmod ugo+s iqlsrv)
(for it to work in foreground or with a local connection!!).
Tips:
In order to use the iqlsrv, the
Essentia package must be installed and configured
If you need more information about this product send a mail to this address:
sqlserver-info@inter-soft.com
If you need to report a bug of this product send a mail to this address:
sqlserver-bug@inter-soft.com