940 lines
15 KiB
HTML
940 lines
15 KiB
HTML
<HTML
|
|
><HEAD
|
|
><TITLE
|
|
>Miscellaneous Topics</TITLE
|
|
><META
|
|
NAME="GENERATOR"
|
|
CONTENT="Modular DocBook HTML Stylesheet Version 1.63
|
|
"><LINK
|
|
REL="HOME"
|
|
TITLE="Ingres II HOWTO"
|
|
HREF="index.html"><LINK
|
|
REL="PREVIOUS"
|
|
TITLE="ICE (Internet Commerce Enabled)"
|
|
HREF="ice.html"></HEAD
|
|
><BODY
|
|
CLASS="SECT1"
|
|
BGCOLOR="#FFFFFF"
|
|
TEXT="#000000"
|
|
LINK="#0000FF"
|
|
VLINK="#840084"
|
|
ALINK="#0000FF"
|
|
><DIV
|
|
CLASS="NAVHEADER"
|
|
><TABLE
|
|
WIDTH="100%"
|
|
BORDER="0"
|
|
CELLPADDING="0"
|
|
CELLSPACING="0"
|
|
><TR
|
|
><TH
|
|
COLSPAN="3"
|
|
ALIGN="center"
|
|
>Ingres II HOWTO</TH
|
|
></TR
|
|
><TR
|
|
><TD
|
|
WIDTH="10%"
|
|
ALIGN="left"
|
|
VALIGN="bottom"
|
|
><A
|
|
HREF="ice.html"
|
|
>Prev</A
|
|
></TD
|
|
><TD
|
|
WIDTH="80%"
|
|
ALIGN="center"
|
|
VALIGN="bottom"
|
|
></TD
|
|
><TD
|
|
WIDTH="10%"
|
|
ALIGN="right"
|
|
VALIGN="bottom"
|
|
> </TD
|
|
></TR
|
|
></TABLE
|
|
><HR
|
|
ALIGN="LEFT"
|
|
WIDTH="100%"></DIV
|
|
><DIV
|
|
CLASS="SECT1"
|
|
><H1
|
|
CLASS="SECT1"
|
|
><A
|
|
NAME="MISC"
|
|
>9. Miscellaneous Topics</A
|
|
></H1
|
|
><P
|
|
>Further hints to the use of <SPAN
|
|
CLASS="APPLICATION"
|
|
>Ingres</SPAN
|
|
>.</P
|
|
><DIV
|
|
CLASS="SECT2"
|
|
><H2
|
|
CLASS="SECT2"
|
|
><A
|
|
NAME="AUTOM"
|
|
>9.1. Automatic Startup and Shutdown</A
|
|
></H2
|
|
><P
|
|
>If you want <SPAN
|
|
CLASS="APPLICATION"
|
|
>Ingres</SPAN
|
|
> to start automatically
|
|
whenever Linux boots and stop when you shutdown or reboot the system, do
|
|
the following:</P
|
|
><P
|
|
>Log in as root.</P
|
|
><P
|
|
>Check if your Linux variant has System V or <SPAN
|
|
CLASS="ACRONYM"
|
|
>BSD</SPAN
|
|
> style
|
|
<B
|
|
CLASS="COMMAND"
|
|
>init</B
|
|
> (<B
|
|
CLASS="COMMAND"
|
|
>init</B
|
|
>'s <B
|
|
CLASS="COMMAND"
|
|
>man</B
|
|
>
|
|
page will tell that).</P
|
|
><P
|
|
>If your system conforms to System V, the
|
|
<TT
|
|
CLASS="FILENAME"
|
|
>/etc/rc.d/init.d</TT
|
|
> directory must exist.
|
|
Create a file there (call it <B
|
|
CLASS="COMMAND"
|
|
>ingres</B
|
|
> or any other name you
|
|
wish).
|
|
The file should contain at least the following:</P
|
|
><TABLE
|
|
BORDER="0"
|
|
BGCOLOR="#E0E0E0"
|
|
WIDTH="100%"
|
|
><TR
|
|
><TD
|
|
><FONT
|
|
COLOR="#000000"
|
|
><PRE
|
|
CLASS="PROGRAMLISTING"
|
|
>#!/bin/sh
|
|
|
|
case $1 in
|
|
start)
|
|
echo "Starting <SPAN
|
|
CLASS="APPLICATION"
|
|
>Ingres</SPAN
|
|
>"
|
|
su - ingres -c "ingstart"
|
|
;;
|
|
|
|
stop)
|
|
echo "Stopping <SPAN
|
|
CLASS="APPLICATION"
|
|
>Ingres</SPAN
|
|
>"
|
|
su - ingres -c "ingstop"
|
|
;;
|
|
|
|
*)
|
|
echo "Usage: ingres {start|stop}"
|
|
exit 1
|
|
;;
|
|
esac
|
|
|
|
exit 0
|
|
</PRE
|
|
></FONT
|
|
></TD
|
|
></TR
|
|
></TABLE
|
|
><P
|
|
>Link the file as <TT
|
|
CLASS="FILENAME"
|
|
>K01ingres</TT
|
|
> to the directories
|
|
that correspond to the run levels in which <SPAN
|
|
CLASS="APPLICATION"
|
|
>Ingres</SPAN
|
|
>
|
|
should <EM
|
|
>stop</EM
|
|
>:</P
|
|
><TABLE
|
|
BORDER="0"
|
|
BGCOLOR="#E0E0E0"
|
|
WIDTH="100%"
|
|
><TR
|
|
><TD
|
|
><FONT
|
|
COLOR="#000000"
|
|
><PRE
|
|
CLASS="PROGRAMLISTING"
|
|
># ln -s /etc/rc.d/init.d/ingres /etc/rc.d/rc0.d/K01ingres
|
|
# ln -s /etc/rc.d/init.d/ingres /etc/rc.d/rc1.d/K01ingres
|
|
# ln -s /etc/rc.d/init.d/ingres /etc/rc.d/rc6.d/K01ingres
|
|
</PRE
|
|
></FONT
|
|
></TD
|
|
></TR
|
|
></TABLE
|
|
><P
|
|
>Also link it as <TT
|
|
CLASS="FILENAME"
|
|
>S99ingres</TT
|
|
> to the directories
|
|
that correspond to the run levels in which <SPAN
|
|
CLASS="APPLICATION"
|
|
>Ingres</SPAN
|
|
>
|
|
should <EM
|
|
>start</EM
|
|
>:</P
|
|
><TABLE
|
|
BORDER="0"
|
|
BGCOLOR="#E0E0E0"
|
|
WIDTH="100%"
|
|
><TR
|
|
><TD
|
|
><FONT
|
|
COLOR="#000000"
|
|
><PRE
|
|
CLASS="PROGRAMLISTING"
|
|
># ln -s /etc/rc.d/init.d/ingres /etc/rc.d/rc2.d/S99ingres
|
|
# ln -s /etc/rc.d/init.d/ingres /etc/rc.d/rc3.d/S99ingres
|
|
# ln -s /etc/rc.d/init.d/ingres /etc/rc.d/rc4.d/S99ingres
|
|
# ln -s /etc/rc.d/init.d/ingres /etc/rc.d/rc5.d/S99ingres
|
|
</PRE
|
|
></FONT
|
|
></TD
|
|
></TR
|
|
></TABLE
|
|
><P
|
|
>It is not important to call the links <TT
|
|
CLASS="FILENAME"
|
|
>K01ingres</TT
|
|
>
|
|
and <TT
|
|
CLASS="FILENAME"
|
|
>S99ingres</TT
|
|
>, the point is that the name starting with
|
|
<TT
|
|
CLASS="CONSTANT"
|
|
>K</TT
|
|
> should contain a small number (so that
|
|
<SPAN
|
|
CLASS="APPLICATION"
|
|
>Ingres</SPAN
|
|
> stops early when changing to a lower
|
|
runlevel) and the name starting with <TT
|
|
CLASS="CONSTANT"
|
|
>S</TT
|
|
> should contain
|
|
a large number (so that <SPAN
|
|
CLASS="APPLICATION"
|
|
>Ingres</SPAN
|
|
> starts after
|
|
everything else has started).
|
|
Naturally, the file names must not clash with names of existing files.</P
|
|
><P
|
|
>If you have a <SPAN
|
|
CLASS="ACRONYM"
|
|
>BSD</SPAN
|
|
> style <B
|
|
CLASS="COMMAND"
|
|
>init</B
|
|
>,
|
|
put the following lines into <TT
|
|
CLASS="FILENAME"
|
|
>/etc/rc.d/rc.local</TT
|
|
>:</P
|
|
><TABLE
|
|
BORDER="0"
|
|
BGCOLOR="#E0E0E0"
|
|
WIDTH="100%"
|
|
><TR
|
|
><TD
|
|
><FONT
|
|
COLOR="#000000"
|
|
><PRE
|
|
CLASS="PROGRAMLISTING"
|
|
>echo "Starting <SPAN
|
|
CLASS="APPLICATION"
|
|
>Ingres</SPAN
|
|
>"
|
|
su - ingres -c "ingstart"
|
|
</PRE
|
|
></FONT
|
|
></TD
|
|
></TR
|
|
></TABLE
|
|
><P
|
|
>This will start <SPAN
|
|
CLASS="APPLICATION"
|
|
>Ingres</SPAN
|
|
>.
|
|
(As a matter of fact, you can use <TT
|
|
CLASS="FILENAME"
|
|
>/etc/rc.d/rc.local</TT
|
|
>
|
|
even if you have a System V style <B
|
|
CLASS="COMMAND"
|
|
>init</B
|
|
>.)</P
|
|
><P
|
|
>To stop <SPAN
|
|
CLASS="APPLICATION"
|
|
>Ingres</SPAN
|
|
> automatically, create a file in
|
|
<TT
|
|
CLASS="FILENAME"
|
|
>/etc/shutdown.d</TT
|
|
>
|
|
(call it, say, <B
|
|
CLASS="COMMAND"
|
|
>ingres</B
|
|
>) that contains the commands:</P
|
|
><TABLE
|
|
BORDER="0"
|
|
BGCOLOR="#E0E0E0"
|
|
WIDTH="100%"
|
|
><TR
|
|
><TD
|
|
><FONT
|
|
COLOR="#000000"
|
|
><PRE
|
|
CLASS="PROGRAMLISTING"
|
|
>echo "Stopping <SPAN
|
|
CLASS="APPLICATION"
|
|
>Ingres</SPAN
|
|
>"
|
|
su - ingres -c "ingstop"
|
|
</PRE
|
|
></FONT
|
|
></TD
|
|
></TR
|
|
></TABLE
|
|
><P
|
|
>No matter which type your system is, the files you create must be
|
|
executable files, owned by root.</P
|
|
><P
|
|
>Naturally, if your system provides a utility for configuring programs
|
|
to start and stop automatically (such as <B
|
|
CLASS="COMMAND"
|
|
>chkconfig</B
|
|
> in
|
|
RedHat), use that if you wish.</P
|
|
></DIV
|
|
><DIV
|
|
CLASS="SECT2"
|
|
><H2
|
|
CLASS="SECT2"
|
|
><A
|
|
NAME="INGMENU"
|
|
>9.2. ingmenu</A
|
|
></H2
|
|
><P
|
|
>The easiest way to access an <SPAN
|
|
CLASS="APPLICATION"
|
|
>Ingres</SPAN
|
|
> database
|
|
(at least, for beginners) is via the <B
|
|
CLASS="COMMAND"
|
|
>ingmenu</B
|
|
> program.
|
|
From <B
|
|
CLASS="COMMAND"
|
|
>ingmenu</B
|
|
>, you can reach
|
|
<SPAN
|
|
CLASS="APPLICATION"
|
|
>Ingres</SPAN
|
|
>' forms-based utilities, by which you can
|
|
create, update and query tables, create, edit and run reports and
|
|
<SPAN
|
|
CLASS="ACRONYM"
|
|
>ABF</SPAN
|
|
> or <SPAN
|
|
CLASS="APPLICATION"
|
|
>Vision</SPAN
|
|
> applications.
|
|
Its usage is:</P
|
|
><TABLE
|
|
BORDER="0"
|
|
BGCOLOR="#E0E0E0"
|
|
WIDTH="100%"
|
|
><TR
|
|
><TD
|
|
><FONT
|
|
COLOR="#000000"
|
|
><PRE
|
|
CLASS="PROGRAMLISTING"
|
|
>$ ingmenu test
|
|
</PRE
|
|
></FONT
|
|
></TD
|
|
></TR
|
|
></TABLE
|
|
><P
|
|
><SPAN
|
|
CLASS="DATABASE"
|
|
>Test</SPAN
|
|
> is the name of the database.</P
|
|
></DIV
|
|
><DIV
|
|
CLASS="SECT2"
|
|
><H2
|
|
CLASS="SECT2"
|
|
><A
|
|
NAME="CIRCUM"
|
|
>9.3. Circumventing Ingres Net</A
|
|
></H2
|
|
><P
|
|
>Without Ingres/Net, in theory it is not possible for
|
|
<SPAN
|
|
CLASS="APPLICATION"
|
|
>Ingres</SPAN
|
|
> applications to access databases on
|
|
different machines.
|
|
However, there exists a method, not supported by <SPAN
|
|
CLASS="ACRONYM"
|
|
>CA</SPAN
|
|
>, by which
|
|
sometimes you can come around this problem.</P
|
|
><P
|
|
>Let us suppose your application runs on host ingdev and the database
|
|
(called <SPAN
|
|
CLASS="DATABASE"
|
|
>test</SPAN
|
|
>) you would like to update or query resides
|
|
on host ingserv.
|
|
Your first task is to find out the port number of the appropriate
|
|
<SPAN
|
|
CLASS="ACRONYM"
|
|
>DBMS</SPAN
|
|
> server running on ingserv.
|
|
You can use <B
|
|
CLASS="COMMAND"
|
|
>ipm</B
|
|
> for this purpose: as ingres, start
|
|
<B
|
|
CLASS="COMMAND"
|
|
>ipm</B
|
|
> on ingserv and choose option
|
|
<SPAN
|
|
CLASS="GUIMENUITEM"
|
|
>Server List</SPAN
|
|
>.
|
|
In the list of servers select one that is of type <TT
|
|
CLASS="CONSTANT"
|
|
>INGRES</TT
|
|
>
|
|
and handles the <SPAN
|
|
CLASS="DATABASE"
|
|
>test</SPAN
|
|
> database (you have to see either
|
|
<TT
|
|
CLASS="CONSTANT"
|
|
>test</TT
|
|
> or <TT
|
|
CLASS="CONSTANT"
|
|
>ALL</TT
|
|
> in column
|
|
<TT
|
|
CLASS="VARNAME"
|
|
>Connecting to Databases</TT
|
|
>).
|
|
You find the port number of the <SPAN
|
|
CLASS="ACRONYM"
|
|
>DBMS</SPAN
|
|
> server in the
|
|
first column.
|
|
Let us suppose it is 1259.</P
|
|
><P
|
|
>On machine ingdev, set the shell variable <TT
|
|
CLASS="ENVAR"
|
|
>II_DBMS_SERVER</TT
|
|
>
|
|
in the following way:</P
|
|
><TABLE
|
|
BORDER="0"
|
|
BGCOLOR="#E0E0E0"
|
|
WIDTH="100%"
|
|
><TR
|
|
><TD
|
|
><FONT
|
|
COLOR="#000000"
|
|
><PRE
|
|
CLASS="PROGRAMLISTING"
|
|
>$ export II_DBMS_SERVER='ingserv::1259'
|
|
</PRE
|
|
></FONT
|
|
></TD
|
|
></TR
|
|
></TABLE
|
|
><P
|
|
>Now run the command:</P
|
|
><TABLE
|
|
BORDER="0"
|
|
BGCOLOR="#E0E0E0"
|
|
WIDTH="100%"
|
|
><TR
|
|
><TD
|
|
><FONT
|
|
COLOR="#000000"
|
|
><PRE
|
|
CLASS="PROGRAMLISTING"
|
|
>$ sql test
|
|
</PRE
|
|
></FONT
|
|
></TD
|
|
></TR
|
|
></TABLE
|
|
><P
|
|
>If it works, you have access to the <SPAN
|
|
CLASS="DATABASE"
|
|
>test</SPAN
|
|
> database
|
|
on host ingserv.</P
|
|
><P
|
|
>This solution is applicable only if both machines are of the same
|
|
architecture, the same operating system is running on both of them, the
|
|
character set is the same in both <SPAN
|
|
CLASS="APPLICATION"
|
|
>Ingres</SPAN
|
|
>
|
|
installations, and so on: I do not know the full list of necessary conditions.
|
|
Therefore, I cannot guarantee that this trick will work.</P
|
|
><P
|
|
>On the other hand, if you restart <SPAN
|
|
CLASS="APPLICATION"
|
|
>Ingres</SPAN
|
|
>
|
|
on host ingserv, the <SPAN
|
|
CLASS="ACRONYM"
|
|
>DBMS</SPAN
|
|
> server process will get a
|
|
different <SPAN
|
|
CLASS="ACRONYM"
|
|
>TCP/IP</SPAN
|
|
> port, therefore you probably have to
|
|
automate the fetching of the current port number to the application server.
|
|
You can use the <B
|
|
CLASS="COMMAND"
|
|
>show</B
|
|
> command of the
|
|
<B
|
|
CLASS="COMMAND"
|
|
>iinamu</B
|
|
> utility for this purpose.
|
|
The following command line gives the port number of the <SPAN
|
|
CLASS="ACRONYM"
|
|
>DBMS</SPAN
|
|
>
|
|
server if there is only one server running:</P
|
|
><TABLE
|
|
BORDER="0"
|
|
BGCOLOR="#E0E0E0"
|
|
WIDTH="100%"
|
|
><TR
|
|
><TD
|
|
><FONT
|
|
COLOR="#000000"
|
|
><PRE
|
|
CLASS="PROGRAMLISTING"
|
|
>$ echo show | iinamu | grep INGRES | tr -s ' ' '\t' | cut -f4
|
|
</PRE
|
|
></FONT
|
|
></TD
|
|
></TR
|
|
></TABLE
|
|
></DIV
|
|
><DIV
|
|
CLASS="SECT2"
|
|
><H2
|
|
CLASS="SECT2"
|
|
><A
|
|
NAME="FORMS"
|
|
>9.4. Forms-Based Development Tools</A
|
|
></H2
|
|
><P
|
|
>The <SPAN
|
|
CLASS="APPLICATION"
|
|
>Ingres</SPAN
|
|
> installation includes a sample
|
|
application, created by <SPAN
|
|
CLASS="ACRONYM"
|
|
>ABF</SPAN
|
|
>,
|
|
the traditional development tool of <SPAN
|
|
CLASS="APPLICATION"
|
|
>Ingres</SPAN
|
|
>.
|
|
You can load it with the <B
|
|
CLASS="COMMAND"
|
|
>abfdemo</B
|
|
> command.
|
|
Unfortunately, the manuals of <SPAN
|
|
CLASS="ACRONYM"
|
|
>ABF</SPAN
|
|
>
|
|
and <SPAN
|
|
CLASS="APPLICATION"
|
|
>Vision</SPAN
|
|
> cannot be found either
|
|
on the <SPAN
|
|
CLASS="APPLICATION"
|
|
>Ingres</SPAN
|
|
> CD or on the
|
|
<SPAN
|
|
CLASS="ACRONYM"
|
|
>CA</SPAN
|
|
> site.</P
|
|
><P
|
|
>There is a problem with the <SPAN
|
|
CLASS="ACRONYM"
|
|
>SDK</SPAN
|
|
> under glibc 2.1:
|
|
applications created by <SPAN
|
|
CLASS="ACRONYM"
|
|
>ABF</SPAN
|
|
> or
|
|
<SPAN
|
|
CLASS="APPLICATION"
|
|
>Vision</SPAN
|
|
> cannot be either compiled or run directly
|
|
from the database.
|
|
This problem is solved in the full <SPAN
|
|
CLASS="APPLICATION"
|
|
>Ingres</SPAN
|
|
> version.
|
|
For the <SPAN
|
|
CLASS="ACRONYM"
|
|
>SDK</SPAN
|
|
>, install the RedHat glibc 2.0 compatibility
|
|
packages.
|
|
If you do not have RedHat, download them from the following
|
|
<SPAN
|
|
CLASS="ACRONYM"
|
|
>URLs</SPAN
|
|
>:
|
|
</P
|
|
><P
|
|
></P
|
|
><UL
|
|
><LI
|
|
><P
|
|
><A
|
|
HREF="ftp://ftp.redhat.com/pub/redhat/redhat-6.0/i386/RedHat/RPMS/compat-binutils-5.2-2.9.1.0.23.1.i386.rpm"
|
|
TARGET="_top"
|
|
> ftp://ftp.redhat.com/pub/redhat/redhat-6.0/i386/RedHat/RPMS/compat-binutils-5.2-2.9.1.0.23.1.i386.rpm</A
|
|
></P
|
|
></LI
|
|
><LI
|
|
><P
|
|
><A
|
|
HREF="ftp://ftp.redhat.com/pub/redhat/redhat-6.0/i386/RedHat/RPMS/compat-egcs-5.2-1.0.3a.1.i386.rpm"
|
|
TARGET="_top"
|
|
> ftp://ftp.redhat.com/pub/redhat/redhat-6.0/i386/RedHat/RPMS/compat-egcs-5.2-1.0.3a.1.i386.rpm</A
|
|
></P
|
|
></LI
|
|
><LI
|
|
><P
|
|
><A
|
|
HREF="ftp://ftp.redhat.com/pub/redhat/redhat-6.0/i386/RedHat/RPMS/compat-glibc-5.2-2.0.7.1.i386.rpm"
|
|
TARGET="_top"
|
|
> ftp://ftp.redhat.com/pub/redhat/redhat-6.0/i386/RedHat/RPMS/compat-glibc-5.2-2.0.7.1.i386.rpm</A
|
|
></P
|
|
></LI
|
|
><LI
|
|
><P
|
|
><A
|
|
HREF="ftp://ftp.redhat.com/pub/redhat/redhat-6.0/i386/RedHat/RPMS/compat-libs-5.2-1.i386.rpm"
|
|
TARGET="_top"
|
|
> ftp://ftp.redhat.com/pub/redhat/redhat-6.0/i386/RedHat/RPMS/compat-libs-5.2-1.i386.rpm</A
|
|
></P
|
|
></LI
|
|
></UL
|
|
><P
|
|
>Besides the compatibility packages, you need an
|
|
<SPAN
|
|
CLASS="APPLICATION"
|
|
>Ingres</SPAN
|
|
> patch.
|
|
It was posted on the <A
|
|
HREF="news:comp.databases.ingres"
|
|
TARGET="_top"
|
|
> <SPAN
|
|
CLASS="APPLICATION"
|
|
>Ingres</SPAN
|
|
> newsgroup</A
|
|
> in September, 1999.
|
|
I have a copy of it, email me if you wish to install it.</P
|
|
><P
|
|
>The compatibility packages and the patch probably do not work for all
|
|
Linux distributions.
|
|
I only tested them on RedHat and Caldera Open Linux.</P
|
|
></DIV
|
|
><DIV
|
|
CLASS="SECT2"
|
|
><H2
|
|
CLASS="SECT2"
|
|
><A
|
|
NAME="PERL"
|
|
>9.5. Ingperl and Perl DBI</A
|
|
></H2
|
|
><P
|
|
>Previous <SPAN
|
|
CLASS="APPLICATION"
|
|
>Perl</SPAN
|
|
> versions, version 4 included,
|
|
made <SPAN
|
|
CLASS="APPLICATION"
|
|
>Ingres</SPAN
|
|
> access possible via libraries known
|
|
as ingperl.
|
|
You can find information on ingperl at
|
|
<A
|
|
HREF="http://www.contrib.andrew.cmu.edu/~lfm/ingperl.html"
|
|
TARGET="_top"
|
|
> http://www.contrib.andrew.cmu.edu/~lfm/ingperl.html</A
|
|
>.</P
|
|
><P
|
|
>In <SPAN
|
|
CLASS="APPLICATION"
|
|
>Perl 5</SPAN
|
|
> a new, unified database
|
|
interface, called <SPAN
|
|
CLASS="APPLICATION"
|
|
>Perl</SPAN
|
|
> <SPAN
|
|
CLASS="ACRONYM"
|
|
>DBI</SPAN
|
|
>,
|
|
appeared.
|
|
Its site is
|
|
<A
|
|
HREF="http://www.symbolstone.org/technology/perl/DBI/index.html"
|
|
TARGET="_top"
|
|
> http://www.symbolstone.org/technology/perl/DBI/index.html</A
|
|
>.</P
|
|
><P
|
|
>You can download the <SPAN
|
|
CLASS="APPLICATION"
|
|
>Ingres</SPAN
|
|
>
|
|
module of <SPAN
|
|
CLASS="ACRONYM"
|
|
>DBI</SPAN
|
|
> from that site.</P
|
|
></DIV
|
|
><DIV
|
|
CLASS="SECT2"
|
|
><H2
|
|
CLASS="SECT2"
|
|
><A
|
|
NAME="LINKS"
|
|
>9.6. Ingres links</A
|
|
></H2
|
|
><P
|
|
>I leave you with a few pointers to important
|
|
<SPAN
|
|
CLASS="APPLICATION"
|
|
>Ingres</SPAN
|
|
> sites:</P
|
|
><P
|
|
></P
|
|
><UL
|
|
><LI
|
|
><P
|
|
><A
|
|
HREF="http://www.cai.com/ingres/"
|
|
TARGET="_top"
|
|
> http://www.cai.com/ingres/</A
|
|
>:
|
|
home page of the <SPAN
|
|
CLASS="APPLICATION"
|
|
>Ingres RDBMS</SPAN
|
|
> on
|
|
<SPAN
|
|
CLASS="ACRONYM"
|
|
>CA</SPAN
|
|
>'s site.</P
|
|
></LI
|
|
><LI
|
|
><P
|
|
><A
|
|
HREF="http://support.cai.com/ingressupp.html"
|
|
TARGET="_top"
|
|
> http://support.cai.com/ingressupp.html</A
|
|
>:
|
|
<SPAN
|
|
CLASS="APPLICATION"
|
|
>Ingres</SPAN
|
|
> Technical Support.</P
|
|
></LI
|
|
><LI
|
|
><P
|
|
> <A
|
|
HREF="http://www.cai.com/ingres/inquire/"
|
|
TARGET="_top"
|
|
> http://www.cai.com/ingres/inquire/</A
|
|
>:
|
|
inquire_ingres: <SPAN
|
|
CLASS="APPLICATION"
|
|
>Ingres</SPAN
|
|
> technical
|
|
magazine.</P
|
|
></LI
|
|
><LI
|
|
><P
|
|
><A
|
|
HREF="http://www.naiua.org/faqs.html"
|
|
TARGET="_top"
|
|
> http://www.naiua.org</A
|
|
>: the North American Ingres Users
|
|
Association's site.
|
|
Check the <SPAN
|
|
CLASS="ACRONYM"
|
|
>FAQ</SPAN
|
|
> page, and the
|
|
<TT
|
|
CLASS="FILENAME"
|
|
>/papers</TT
|
|
> directory.</P
|
|
></LI
|
|
><LI
|
|
><P
|
|
><A
|
|
HREF="news:comp.databases.ingres"
|
|
TARGET="_top"
|
|
> news:comp.databases.ingres</A
|
|
>: the
|
|
<SPAN
|
|
CLASS="APPLICATION"
|
|
>Ingres</SPAN
|
|
> newsgroup.</P
|
|
></LI
|
|
><LI
|
|
><P
|
|
><A
|
|
HREF="http://www.deja.com/group/comp.databases.ingres"
|
|
TARGET="_top"
|
|
> http://www.deja.com/group/comp.databases.ingres</A
|
|
>: the
|
|
archived <SPAN
|
|
CLASS="APPLICATION"
|
|
>Ingres</SPAN
|
|
> newsgroup on Deja.</P
|
|
></LI
|
|
><LI
|
|
><P
|
|
><A
|
|
HREF="http://munkora.cs.mu.oz.au/~yuan/Ingres/ingres.html"
|
|
TARGET="_top"
|
|
> http://munkora.cs.mu.oz.au/~yuan/Ingres/ingres.html</A
|
|
>: William
|
|
Yuan's <SPAN
|
|
CLASS="APPLICATION"
|
|
>Ingres</SPAN
|
|
> Reference Page with lots of
|
|
<SPAN
|
|
CLASS="APPLICATION"
|
|
>Ingres</SPAN
|
|
> information.</P
|
|
></LI
|
|
><LI
|
|
><P
|
|
><A
|
|
HREF="http://www.mercurie.co.uk/ingres/"
|
|
TARGET="_top"
|
|
> http://www.mercurie.co.uk/ingres/</A
|
|
>: Prijesh Patel's Unofficial
|
|
<SPAN
|
|
CLASS="APPLICATION"
|
|
>Ingres</SPAN
|
|
> Web Page with edited posts from the
|
|
<SPAN
|
|
CLASS="APPLICATION"
|
|
>Ingres</SPAN
|
|
> newsgroup.</P
|
|
></LI
|
|
><LI
|
|
><P
|
|
><A
|
|
HREF="http://www.palslib.com/Ingres_II/Ingres_II.html"
|
|
TARGET="_top"
|
|
> http://www.palslib.com/Ingres_II/Ingres_II.html</A
|
|
>: the
|
|
<SPAN
|
|
CLASS="APPLICATION"
|
|
>Ingres</SPAN
|
|
> section of Pal's Linux RDBMS
|
|
Library.</P
|
|
></LI
|
|
></UL
|
|
><P
|
|
>Have fun!</P
|
|
></DIV
|
|
></DIV
|
|
><DIV
|
|
CLASS="NAVFOOTER"
|
|
><HR
|
|
ALIGN="LEFT"
|
|
WIDTH="100%"><TABLE
|
|
WIDTH="100%"
|
|
BORDER="0"
|
|
CELLPADDING="0"
|
|
CELLSPACING="0"
|
|
><TR
|
|
><TD
|
|
WIDTH="33%"
|
|
ALIGN="left"
|
|
VALIGN="top"
|
|
><A
|
|
HREF="ice.html"
|
|
>Prev</A
|
|
></TD
|
|
><TD
|
|
WIDTH="34%"
|
|
ALIGN="center"
|
|
VALIGN="top"
|
|
><A
|
|
HREF="index.html"
|
|
>Home</A
|
|
></TD
|
|
><TD
|
|
WIDTH="33%"
|
|
ALIGN="right"
|
|
VALIGN="top"
|
|
> </TD
|
|
></TR
|
|
><TR
|
|
><TD
|
|
WIDTH="33%"
|
|
ALIGN="left"
|
|
VALIGN="top"
|
|
>ICE (Internet Commerce Enabled)</TD
|
|
><TD
|
|
WIDTH="34%"
|
|
ALIGN="center"
|
|
VALIGN="top"
|
|
> </TD
|
|
><TD
|
|
WIDTH="33%"
|
|
ALIGN="right"
|
|
VALIGN="top"
|
|
> </TD
|
|
></TR
|
|
></TABLE
|
|
></DIV
|
|
></BODY
|
|
></HTML
|
|
> |