dbTalk Databases Forums  

BTRCALL do i need to get entire record?

comp.databases.btrieve comp.databases.btrieve


Discuss BTRCALL do i need to get entire record? in the comp.databases.btrieve forum.



Reply
 
Thread Tools Display Modes
  #1  
Old   
henry
 
Posts: n/a

Default BTRCALL do i need to get entire record? - 09-08-2004 , 03:01 PM






I am using Pervasive 7 and VB6.0. I am currently using the ODBC
driver and Scalable SQL to run queries. Recently however we have been
having problems with Scaleable and the ODBC hanging when one of the
applications has a problem connecting, this hoses up all of the other
applications except the ones running direct to BTRIEVE using BTRCALL
(I assume). So I want to attempt to learn how to use the BTRCALL so
my app won't get hosed up along with the rest of them.
The question I have is that it appears to be wasteful to define the
entire record in a TYPE DEFinition and retrieve the entire record,
only to pluck out the stuff that you really need. Can you ask only
for those fields of a record that you want, instead of the entire
record with each call to BTRCALL?

Thanks in advance,


-Henry

Reply With Quote
  #2  
Old   
Leonard
 
Posts: n/a

Default Re: BTRCALL do i need to get entire record? - 09-08-2004 , 09:42 PM






Kind of.
There are 3 options that I can think of:
1) If the parts of the record are the first x bytes of a record you
can set the data buffer length to the number of bytes that you want to
get. This will of course return a status code indicating that there
are not enough bytes specified for the data buffer, but the number of
bytes specified are returned, unless there is some other status code,
e.g. 9, end of file

2) You can use chunk operations. With chunk operations you can
specify an offset and a length. Chunk operations can be used for both
reads and writes.

3) You can use extended operations. Extended operations are quite
powerful. You can specify filters on keys or not (although not on a
key will cause file scans. You can also specify the byte offset and
lengths. It also allows returning multiple records (or sub-records)
up to the 64KB data buffer size. You can also set reject counts but
be careful of setting it too high as they can become blocking making
other requests wait.

Leonard

On 8 Sep 2004 13:01:23 -0700, myfriendhenry (AT) yahoo (DOT) com (henry) wrote:

Quote:
I am using Pervasive 7 and VB6.0. I am currently using the ODBC
driver and Scalable SQL to run queries. Recently however we have been
having problems with Scaleable and the ODBC hanging when one of the
applications has a problem connecting, this hoses up all of the other
applications except the ones running direct to BTRIEVE using BTRCALL
(I assume). So I want to attempt to learn how to use the BTRCALL so
my app won't get hosed up along with the rest of them.
The question I have is that it appears to be wasteful to define the
entire record in a TYPE DEFinition and retrieve the entire record,
only to pluck out the stuff that you really need. Can you ask only
for those fields of a record that you want, instead of the entire
record with each call to BTRCALL?

Thanks in advance,


-Henry


Reply With Quote
  #3  
Old   
Gil
 
Posts: n/a

Default Re: BTRCALL do i need to get entire record? - 09-09-2004 , 09:49 AM



You might also consider the activeX controls. These work very well
and you can create the programs much faster as the controls take care
of the data conversions. I've used the ActiveX controls for several
years with VB6.

Gil


Leonard <lharvey (AT) austin (DOT) rr.com> wrote

Quote:
Kind of.
There are 3 options that I can think of:
1) If the parts of the record are the first x bytes of a record you
can set the data buffer length to the number of bytes that you want to
get. This will of course return a status code indicating that there
are not enough bytes specified for the data buffer, but the number of
bytes specified are returned, unless there is some other status code,
e.g. 9, end of file

2) You can use chunk operations. With chunk operations you can
specify an offset and a length. Chunk operations can be used for both
reads and writes.

3) You can use extended operations. Extended operations are quite
powerful. You can specify filters on keys or not (although not on a
key will cause file scans. You can also specify the byte offset and
lengths. It also allows returning multiple records (or sub-records)
up to the 64KB data buffer size. You can also set reject counts but
be careful of setting it too high as they can become blocking making
other requests wait.

Leonard

On 8 Sep 2004 13:01:23 -0700, myfriendhenry (AT) yahoo (DOT) com (henry) wrote:

I am using Pervasive 7 and VB6.0. I am currently using the ODBC
driver and Scalable SQL to run queries. Recently however we have been
having problems with Scaleable and the ODBC hanging when one of the
applications has a problem connecting, this hoses up all of the other
applications except the ones running direct to BTRIEVE using BTRCALL
(I assume). So I want to attempt to learn how to use the BTRCALL so
my app won't get hosed up along with the rest of them.
The question I have is that it appears to be wasteful to define the
entire record in a TYPE DEFinition and retrieve the entire record,
only to pluck out the stuff that you really need. Can you ask only
for those fields of a record that you want, instead of the entire
record with each call to BTRCALL?

Thanks in advance,


-Henry

Reply With Quote
Reply




Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off



Powered by vBulletin Version 3.5.3
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.