Discussion:
Insufficient ISAM Buffers in VBDOS
(too old to reply)
MagAero Systems
2005-10-28 21:20:21 UTC
Permalink
I'm getting an "Insufficient ISAM Buffers" msg in a point of sale program I
have written when creating an ISAM report file of sales activities from an
ISAM database containing all of thge sales data.

I've optimized everything as much as I can, and can't cure it. Strangely,
sometimes it creates the report file just fine, and other times it gives the
error msg. It happens in straight DOS, and also in a Win98SE window.

I've read and re-read all that's in the manual that comes with VBDOS, and I've
run out of ideas.

Anyone have any ideas ?

Mike
Magaero Systems
##
Dan Barclay
2005-10-28 22:18:38 UTC
Permalink
What other features of VBDOS are you using? It's been a very long time, but
some features are incompatible with ISAM. As I recall, overlays and "Run
Filename$" are not compatible. I don't recall if there was a problem with
using runtime vs /O.

If you're using these kinds of things, you might try a compile without them
to check the results.

Dan
Post by MagAero Systems
I'm getting an "Insufficient ISAM Buffers" msg in a point of sale program I
have written when creating an ISAM report file of sales activities from an
ISAM database containing all of thge sales data.
I've optimized everything as much as I can, and can't cure it. Strangely,
sometimes it creates the report file just fine, and other times it gives the
error msg. It happens in straight DOS, and also in a Win98SE window.
I've read and re-read all that's in the manual that comes with VBDOS, and I've
run out of ideas.
Anyone have any ideas ?
Mike
Magaero Systems
##
MagAero Systems
2005-10-28 22:57:10 UTC
Permalink
No overlays. No Run Filename$. Compiled as a stand alone .exe. The .exe only
does this report and nothing else, to keep it as small as possible.
Post by Dan Barclay
What other features of VBDOS are you using? It's been a very long time, but
some features are incompatible with ISAM. As I recall, overlays and "Run
Filename$" are not compatible. I don't recall if there was a problem with
using runtime vs /O.
If you're using these kinds of things, you might try a compile without them
to check the results.
Dan
Post by MagAero Systems
I'm getting an "Insufficient ISAM Buffers" msg in a point of sale program I
have written when creating an ISAM report file of sales activities from an
ISAM database containing all of thge sales data.
I've optimized everything as much as I can, and can't cure it. Strangely,
sometimes it creates the report file just fine, and other times it gives the
error msg. It happens in straight DOS, and also in a Win98SE window.
I've read and re-read all that's in the manual that comes with VBDOS, and I've
run out of ideas.
Anyone have any ideas ?
Mike
Magaero Systems
##
Stephen Howe
2005-10-29 14:26:06 UTC
Permalink
Post by MagAero Systems
I'm getting an "Insufficient ISAM Buffers" msg in a point of sale program I
have written when creating an ISAM report file of sales activities from an
ISAM database containing all of thge sales data.
I've optimized everything as much as I can, and can't cure it. Strangely,
sometimes it creates the report file just fine, and other times it gives the
error msg. It happens in straight DOS, and also in a Win98SE window.
It might be helpful to outline in detail what you have done.
Without knowing what you have done, I do not know what to suggest.

For example

(i) Your compiler switches would help
(ii) Your linker switches would help
(iii) What does "I've optimized everything as much as I can" consist of?
What have you tried?
(iv) On "It happens in straight DOS, and also in a Win98SE window.", do you
have expanded memory?
I recall that ISAM can use that (but I am hazy and would have to recheck
documentation)
It might be helpful to just type MEM > RESULT.TXT at both DOS prompts and
post the relevant contents of RESULT.TXT so we can see what your overall
memory situation is. Improving the amount of memory available at the DOS
prompt does help.

Cheers

Stephen Howe
MagAero Systems
2005-11-01 17:28:20 UTC
Permalink
To try to keep this from getting out of hand, information wise, let me revise
the question, and in doing so, make it of more general interest, rather than
going into specific code examples.

Revised Question: When using the compiler/linker feature in the VBDOS
programming environment, there is a box where you can enter additional
switches (for BC.EXE). One of the switches (/Ib:n) appears to set the number
of ISAM buffers. Can someone provide a brief overview of this feature, and
when and how this switch should be invoked, and with what range of values?

Thanks!

Mike
##



In article <#***@TK2MSFTNGP09.phx.gbl>, sjhoweATdialDOTpipexDOTcom
says...
Post by Stephen Howe
Post by MagAero Systems
I'm getting an "Insufficient ISAM Buffers" msg in a point of sale program I
have written when creating an ISAM report file of sales activities from an
ISAM database containing all of thge sales data.
I've optimized everything as much as I can, and can't cure it. Strangely,
sometimes it creates the report file just fine, and other times it gives the
error msg. It happens in straight DOS, and also in a Win98SE window.
It might be helpful to outline in detail what you have done.
Without knowing what you have done, I do not know what to suggest.
For example
(i) Your compiler switches would help
(ii) Your linker switches would help
(iii) What does "I've optimized everything as much as I can" consist of?
What have you tried?
(iv) On "It happens in straight DOS, and also in a Win98SE window.", do you
have expanded memory?
I recall that ISAM can use that (but I am hazy and would have to recheck
documentation)
It might be helpful to just type MEM > RESULT.TXT at both DOS prompts and
post the relevant contents of RESULT.TXT so we can see what your overall
memory situation is. Improving the amount of memory available at the DOS
prompt does help.
Cheers
Stephen Howe
a***@NOW.AT.arargh.com
2005-11-01 22:37:26 UTC
Permalink
Post by MagAero Systems
To try to keep this from getting out of hand, information wise, let me revise
the question, and in doing so, make it of more general interest, rather than
going into specific code examples.
Revised Question: When using the compiler/linker feature in the VBDOS
programming environment, there is a box where you can enter additional
switches (for BC.EXE). One of the switches (/Ib:n) appears to set the number
of ISAM buffers. Can someone provide a brief overview of this feature, and
when and how this switch should be invoked, and with what range of values?
From the PDS 7.10 online Help:
-- " --
/Ib Sets the minimum number of buffers to be used by ISAM. ISAM
defaults to 6 buffers for reduced functionality (PROISAM)
and 9 for full functionality (PROISAMD). The maximum
allowable value is 512.
-- " --

And I think that they will only use EMS memory, not XMS.
Or low DOS memory.

There is probably a more complete description in the book.



IMO, the first mistake is even using the buildin ISAM. :-)


And, please don't top post.
--
ArarghMail510 at [drop the 'http://www.' from ->] http://www.arargh.com
BCET Basic Compiler Page: http://www.arargh.com/basic/index.html

To reply by email, remove the garbage from the reply address.
Dan Barclay
2005-11-01 22:57:36 UTC
Permalink
Post by a***@NOW.AT.arargh.com
IMO, the first mistake is even using the buildin ISAM. :-)
Good advice.<g>

OTOH, being away from DOS for so long myself I don't know what I'd recommend
it its place. In a previous life, Btrieve would have been top on my list.
I just don't know if they've kept up their DOS engines.

Dan
a***@NOW.AT.arargh.com
2005-11-01 23:21:38 UTC
Permalink
Post by Dan Barclay
Post by a***@NOW.AT.arargh.com
IMO, the first mistake is even using the buildin ISAM. :-)
Good advice.<g>
I think so. Even a stupid flat file, with a home grown index would
probably be better.
Post by Dan Barclay
OTOH, being away from DOS for so long myself I don't know what I'd recommend
it its place. In a previous life, Btrieve would have been top on my list.
I was going to make the same comment.
Post by Dan Barclay
I just don't know if they've kept up their DOS engines.
I have no idea. I doubt it.

They seem to have changed their name: http://www.btrieve.com/ I can't
even find a product list, or any mention of the DOS versions, except
on the history page.
--
ArarghMail510 at [drop the 'http://www.' from ->] http://www.arargh.com
BCET Basic Compiler Page: http://www.arargh.com/basic/index.html

To reply by email, remove the garbage from the reply address.
Dan Barclay
2005-11-02 01:12:02 UTC
Permalink
Post by a***@NOW.AT.arargh.com
Post by Dan Barclay
Post by a***@NOW.AT.arargh.com
IMO, the first mistake is even using the buildin ISAM. :-)
Good advice.<g>
I think so. Even a stupid flat file, with a home grown index would
probably be better.
Post by Dan Barclay
OTOH, being away from DOS for so long myself I don't know what I'd recommend
it its place. In a previous life, Btrieve would have been top on my list.
I was going to make the same comment.
Post by Dan Barclay
I just don't know if they've kept up their DOS engines.
I have no idea. I doubt it.
They seem to have changed their name: http://www.btrieve.com/ I can't
even find a product list, or any mention of the DOS versions, except
on the history page.
Yes, they are Pervasive Software now having been bought by Novell and then
leaving to become independent again. FWIW, the company was Softcraft before
Novel bought them. The product has always been Btrieve even though the
company name has changed.

We still use Btrieve<vbg>, but exclusively with 32bit Windows at the moment.
Their interface has been the most robust we've used in all the platform
conversions we've made. The darned thing just works, you can do what you
need to do, and the core calls are *completely* forward compatible.
Unbelieveable, but true. All we've had to change in our upgrades have been
call declarations.

Back to his problem, he could use a home grown index but it really is a
pita. There once were decent library choices.

Dan
Dan Barclay
2005-11-02 01:25:05 UTC
Permalink
Post by Dan Barclay
Back to his problem, he could use a home grown index but it really is a
pita. There once were decent library choices.
Come to think of it, didn't Ethan Winer have a chapter in his book about
creating and using dBase index files? Seems to me he had some code in
there, but I don't recall how complete.

In any case, downloading and reading his book is a good idea for anybody.
The OP might want to do that. The book is out of print, but Ethan has
kindly made the entire thing available for free to dowonload.
www.ethanwiner.com

Just browsing there, I see a download file "DATABASE.ZIP". I have no idea
how far that goes, but it might be worth poking around in.

Dan
a***@NOW.AT.arargh.com
2005-11-02 03:12:45 UTC
Permalink
On Tue, 1 Nov 2005 19:25:05 -0600, "Dan Barclay" <***@MVPs.org> wrote:

<snip>
Post by Dan Barclay
Just browsing there, I see a download file "DATABASE.ZIP". I have no idea
how far that goes, but it might be worth poking around in.
It is a sample database program. Beyond that, I don't know:
--
'********** DATABASE.BAS

'Copyright (c) 1993 Ethan Winer

'This program is a skeleton for a complete data-entry system including
'saving the data to disk in a random access file. All of the
'information about each on-screen field is defined using DATA
'statements, making the program easy to understand and modify. One of
'the key components in this program is the Editor routine which
'facilitates field-by-field editing.
--

Assuming that the copy I downloaded in 94 is still the same. :-)
--
ArarghMail511 at [drop the 'http://www.' from ->] http://www.arargh.com
BCET Basic Compiler Page: http://www.arargh.com/basic/index.html

To reply by email, remove the garbage from the reply address.
a***@NOW.AT.arargh.com
2005-11-02 03:19:00 UTC
Permalink
On Tue, 1 Nov 2005 19:12:02 -0600, in microsoft.public.vb.dos you
<snip>
Post by Dan Barclay
Post by a***@NOW.AT.arargh.com
They seem to have changed their name: http://www.btrieve.com/ I can't
even find a product list, or any mention of the DOS versions, except
on the history page.
Yes, they are Pervasive Software now having been bought by Novell and then
leaving to become independent again. FWIW, the company was Softcraft before
Novel bought them. The product has always been Btrieve even though the
company name has changed.
Btrieve is about the only product that Novell bought, and didn't screw
up in some major way.
Post by Dan Barclay
We still use Btrieve<vbg>, but exclusively with 32bit Windows at the moment.
Their interface has been the most robust we've used in all the platform
conversions we've made. The darned thing just works, you can do what you
need to do, and the core calls are *completely* forward compatible.
Unbelieveable, but true. All we've had to change in our upgrades have been
call declarations.
I have never used Btrieve under Win32, just DOS, and then not much. I
did rewrite the DOS routines that do the Requester call, but that was
for ease of use for someone else.
Post by Dan Barclay
Back to his problem, he could use a home grown index but it really is a
pita.
Never said it wasn't, just that it would be better than PDSs ISAM. :-)
Post by Dan Barclay
There once were decent library choices.
Could be, but I never met one. A long time back, I wrote a subroutine
that implements an indexed file capability. The data and keys (both
fixed length) are stored in the same physical disk file, so as to only
use one of Basic's Channels. Never used it for anything, but all the
testing that I did showed that it worked, reasonably well.
--
ArarghMail511 at [drop the 'http://www.' from ->] http://www.arargh.com
BCET Basic Compiler Page: http://www.arargh.com/basic/index.html

To reply by email, remove the garbage from the reply address.
Stephen Howe
2005-11-02 17:46:20 UTC
Permalink
Post by Dan Barclay
OTOH, being away from DOS for so long myself I don't know what I'd recommend
it its place. In a previous life, Btrieve would have been top on my list.
I just don't know if they've kept up their DOS engines.
They seem to suppose DOS Requesters from a DOS box under Windows
See http://www.pervasive.com/library/docs/psql/910/sgs/sgs-08-7.html
But that is using a Requester so that an existing DOS app can read/write to
a newer database.

Here they seem to mention
http://www.pervasive.com/library/docs/psql/615/Btr61dos.pdf
that the old 6.1 DOS version of Btrieve still exists

Stephen Howe
Stephen Howe
2005-11-02 17:49:47 UTC
Permalink
Post by a***@NOW.AT.arargh.com
IMO, the first mistake is even using the buildin ISAM. :-)
AFAIK, there is nothing wrong with it, certainly not 7.1 & VBDOS 1.0.
From what I remember 7.0 (which I used) was very flaky for ISAM.

Stephen Howe
Dan Barclay
2005-11-02 18:24:27 UTC
Permalink
Hi Stephen,

The main problem with it is that it's a minefield. If you step in the right
places you're OK. There are just a lot of things that will trip it up. I
know of folks who wrote simple apps, wrapped them up, and they work fine.
OTOH, if you keep going you will eventually step on the wrong spot.

At one time I knew what to warn folks of. I don't have much time with it
myself, but in a previous life I kept up with the problems that others
reported. There were problems with all versions... in fact some programs
worked perfectly fine in, say, 7.1 that wouldn't work at all in VBDOS.

Dan
Post by Stephen Howe
Post by a***@NOW.AT.arargh.com
IMO, the first mistake is even using the buildin ISAM. :-)
AFAIK, there is nothing wrong with it, certainly not 7.1 & VBDOS 1.0.
From what I remember 7.0 (which I used) was very flaky for ISAM.
Stephen Howe
Loading...