Database experiences

Someone above asked for database recommendations/experience …

My company does warehouse automation applications.  We use networked
PC’s and are currently looking for a 4GLish system to standardize
on. We’ve looked at demo versions of Progress, Zim, and Sculptor and
bought the full (SCO Xenix V) version of Informix 4GL.

All of these suffer from at least one "fatal flaw," in our view. We
sell to unsophisticated users, many of whom don’t know a database
from a toaster, but they do know they like flashy windows.  This
kills Progress and Zim, both of which look pretty clunky.

Sculptor performed impressively and its windows were quite fast and
might well have served, but it’s a "keyed file system" and not a
relational database.  Each file can have only one key.  Exit
Sculptor.

We bought Informix 4GL after reading the net and seeing no serious
flames and on another recommendation, thinking it would at least be
suitable for a small project we’re doing.  Wrong!  The spec calls
for a "browser", with the current record highlighted, and the
product doesn’t allow for this.  You can highlight fields in a form,
but EVERY FIELD gets highlighted if you specify highlighting!  The
tech support person was unable to suggest a C workaround, nor could
we think of one. There are other annoyances: unhelpful error
messages, a core dump when running the compiler, a slooow two-level
preprocesor implementation, a language that seems relatively quite
low level, yet still leaves holes … $1239 down the drain.

We’ve developed our own many-moving-parts 4GLish system with YACC &
C, using Btrieve (nice DOS version, Xenix version seems flaky; any
other file manager could easily be substituted) and Windows for Data
(strange documentation, but a very nice product).  This will serve
for the moment, although we’re still looking at alternatives.  We’re
going to an Ingres seminar in a few weeks …

Recommendation: don’t buy without getting your hands on for at
least half a day.  Wish we hadn’t!

7 Responses to “Database experiences”

  1. admin says:

    Would someone comment on /rdb?  There has been little mention of
    it, at least recently, in this newsgroup, although /rdb seems to
    have been targetted intelligently for UNIX systems.  How does it
    compare in power, speed, interface, etc, with the such standards
    as Informix or Oracle?  Any serious flaws?

  2. admin says:

    In article <1…@cup.portal.com> Mark_David_McWigg…@cup.portal.com writes:

    [purged]

    >We bought Informix 4GL after reading the net and seeing no serious
    >flames and on another recommendation, thinking it would at least be
    >suitable for a small project we’re doing.  Wrong!  The spec calls
    >for a "browser", with the current record highlighted, and the
    >product doesn’t allow for this.  You can highlight fields in a form,
    >but EVERY FIELD gets highlighted if you specify highlighting!  The
    >tech support person was unable to suggest a C workaround, nor could
    >we think of one.

     I am not sure how you are attacking  this  problem,  but  it  is
     definitely  possible  to  highlight the current record within an
     Informix 4GL program without causing all of the other fields  to
     highlight *and* with a C routine.

     In  general,  the  Tele-Tech  Support   people   are   glorified
     secretaries.   The  *real*  4GL  people  are  reserved  for  the
     consulting and custom programing jobs.

     The error messages *are* unhelpful.

     I have never had a core dump during the compile  (many  run-time
     dumps, but never during a compile)

     If you can give me a *real* UUCP return address,  I  could  send
     you more info.


                    Marc A. Ries

                    sdcrdcf!—\
                    ihnp4!——\—– trwrb! — ries

  3. admin says:

    I recently was refused tech support from Ashton-Tate because my 90
    day tech support had expired a month before. I ask a dBASE question
    about once every two years. It is a very obnoxious policy by Ashton-Tate
    to require registered users who paid large dollars(for PC software at
    least) to pay out even more just to get quick help. Federal users like
    myself have lead times of six months before anything can be purchased.
    Therefore I am forced to bother the world with my problem.
    FLAME OFF

    I would like to prompt a user in a .prg file with a sequence similar to
    this:

    datab=’test.dbf’
    @ 2,2 say ‘What database do you wish to access’ get datab
    read
    use ‘datab’

    The sequence above does not work. The file test.dbf is assumed to exist.
    If it does not I know that I can always use the FILE() command mentioned
    in volume 2 of the dBASE manual. Does anyone know what I have to do to
    get dBASE to use a database name input via a memory variable?

    FLAME ON
    Are you listening Ashton-Tate? Or are you too busy sueing the proposed
    standards committee?
    FLAME OFF

                     Thanks in advance,

    Clifton B. Sothoron Jr.
    Ballistic Research Laboratory
    Aberdeen Proving Grounds, Md.
    cbsoth@brl

    dBASE is a registered trademark of Ashton-Tate Inc.

  4. admin says:

    Try the following:

      STORE SPACE(8) TO DBNAME
      @5,10 SAY "Enter Database Name" GET DBNAME
      READ
      USE &DBNAME

    From the book:

      Expert dbase III+
      Judd Robbins and Ken Braly
      Page: 79

  5. admin says:

            I tried to mail directly, but you weren’t in our path alias file.

    > I would like to prompt a user in a .prg file with a sequence similar to
    > this:
    > datab=’test.dbf’
    > @ 2,2 say ‘What database do you wish to access’ get datab
    > read
    > use ‘datab’
    > The sequence above does not work. The file test.dbf is assumed to exist.
    > Clifton B. Sothoron Jr.

            I’ve used this solution:

    MNAME=’test’
    USE &MNAME

            I haven’t ever tried the prompt, but I assume this would work:

    datab=’test’
    @ 2,2 say ‘What database do you wish to access’ get datab
    read
    use &datab

    UUCP:   …!ihnp4!upba!marla                            Marla Conway

  6. admin says:

    In message 1…@brl-tbd.ARPA, Cliff B. Sothoron posts:

    >I would like to prompt a user in a .prg file with a sequence similar to
    >this:

    >datab=’test.dbf’
    >@ 2,2 say ‘What database do you wish to access’ get datab
    >read
    >use ‘datab’

    >The sequence above does not work. The file test.dbf is assumed to exist.
    >If it does not I know that I can always use the FILE() command mentioned
    >in volume 2 of the dBASE manual. Does anyone know what I have to do to
    >get dBASE to use a database name input via a memory variable?

    I think what you need here is a macro.  You really want to substitute
    the contents of the variable ‘datab’ for the name of the file.

    Instead of:
                    use ‘datab’
    try:
                    use &datab

    This has worked for me (you may have to fiddle a little with the
    extension, etc.)

    ===============================================================================
    |           Robert C. Lake             |     VOICE: (205) 271-9581 (Work)     |
    |         School of Business           |     VOICE: (205) 279-8185 (Home)     |
    |   Auburn University at Montgomery    |           CIS: [71216,560]           |
    |        Montgomery, AL 36116          |      "Viva la papillon Venus!"       |
    |—————————————————————————–|
    |                             r…@cup.portal.com                              |
    |     {ucbvax,decwrl,decvax,seismo,hplabs}!sun!portal!cup.portal.com!rcl      |
    ===============================================================================
    |       Opinions expressed above are solely my own — not my employer’s       |
    ===============================================================================

  7. admin says:

     I know there has been a lot of replies to this problem and I would like to
    toss in
    my hat and give my fair share…

    One of the solutions proposed was from E.Roepe:

      STORE SPACE(8) TO DBNAME
      @5,10 SAY "Enter Database Name" GET DBNAME
      READ
      USE &DBNAME

    What I would like to add is the fact that when you use the command:

            STORE SPACE(8) TO DBNAME

    you are actually limiting the input space to 8 characters.  

    This might pose problems when you have to specify paths or even
    drive specifications.  The same is true when you say

            datab=’test.dbf’

    A better way is to assign an arbitrary length to the character variable
    datab.

            STORE SPACE(10) TO DATAB   && if we allow different drive specs

    or even

            STORE SPACE(20) TO DATAB   && to allow for subdirectories

    If you wish to assign a default as in datab = ‘test.dbf’:
    use:

            STORE ‘test.dbf’ + SPACE(12) TO DATAB

    space(12) to set the length of datab to 20.

    To store an arbritrary filename ( maybe assigned as default earlier in the
    program )
    to a character variable ( which we want to retain as having a length of 20 ),

            STORE LEFT( deffilename + space(20), 20 ) TO DATAB

    where deffilename may be of any length.  

    Hope this all helps…