home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The World of Computer Software
/
World_Of_Computer_Software-02-385-Vol-1of3.iso
/
c
/
clar3.zip
/
CLAR3.EXE
/
DRIVER.DOC
next >
Wrap
Text File
|
1993-01-01
|
16KB
|
436 lines
File Driver Technology.
With release 3.0 Clarion becomes database-independent.
Access to supported file systems is transparent to both
developer's and end-user's. Assigning a driver label to a
file structure is all that is required to gain access to
that file (see Language Reference Manual).
Applications you develop using a supported driver can easily
be transported to any other database driver; with little or
no change to your application's source code. Program code
modifications may be needed for SQL engines.
Clarion provides direct access to data stored in the
following file formats:
Btrieve - Creates, reads and writes Btrieve files, using low-
level direct access. Clarion also supports access to
Btrieve files in a client/server mode (using Brequest) on a
Novell network.
Xbase - Creates, reads and writes dBase III compatible data
and index files.
NetSQL - Creates, reads and writes files defined for
Novell's relational database engine. Supports all of the
transaction control and security features of SQL. Works
cooperatively with applications that support direct-access
to Btrieve files.
Clarion - Creates, reads and writes files defined for our
proprietary file system.
Basic - Creates, reads and writes comma-quote delimited
ASCII files.
ASCII - Creates, reads and writes standard Ascii (text)
files. Records are separated by a carriage-return / line-
feed.
Binary - Creates, reads and writes files stored in binary,
byte-addressable format.
An application can simultaneously access files stored in any
of these formats. These file systems can be accessed in a
multi-user environment, with complete file and record
locking capabilities.
Clarion applications directly access the source data file.
This creates a cooperative processing environment where data
can be shared among multiple applications.
File System Requirements
Some of the supported file systems have special runtime
considerations. Not all file systems support the entire
collection of Clarion file I/O language statements. The
exceptions are due to differences between file systems in
data storage, and methods used for keyed access. Each
driver is described separately, and any special requirements
are noted.
Clarion 3.0 Driver.
________________________________
Driver Attribute string: Clarion
Libraries:
DXVCLA21.LIB Static Link
DOVCLA21.LIB Overlay Link
DDVCLA21.LIB Dynamic Link Library (DLL)
The Overlay and DLL models produce an overlayed executable.
The Static model creates a static linked executable.
Data Types Supported.
BYTE SHORT LONG REAL DECIMAL STRING MEMO
GROUP
See the Language Reference manual for details on these
data types.
File Specifications - Maximums
File Size : limited only by disk space
Records per File : Unsigned Long (4,294,967,295)
Record Size : 64K
Field Size : 64K
Fields per Record : 64K
Keys/Indexes per File : 251
Key Size : 245 bytes
Memo fields per File : 1
Memo Field Size : 64K
Open Data Files : Operating system dependent
General Characteristics.
Data files default to a filename extension of .DAT, this can
be overridden by the use of the NAME attribute.
Records are stored fixed length. The File can be locked, or
one record can be locked in each open file.
KEY files are stored separate from data files. Key files
are named using the label of the data file, with the
extension .K01 for the first KEY, K02, K03 and so on. KEYS
are dynamic, they are automatically updated when the data
file is changed. If a NAME attribute is specified, the Key
will use the prefix of the NAME along with the .K##
extension.
INDEX files are stored separate from data files. INDEX
files are named using the label of the data file, with the
extension .I01 for the first INDEX, I02, I03 and so on.
INDEX files are static, they are not automatically updated
when the data file is changed. Index files are created and
updated by using the BUILD statement. If a NAME attribute
is specified, the INDEX will use the prefix of the NAME
along with the .I## extension.
Memo fields are stored in a separate file. A memo file uses
the label of the file structure with the extension "MEM".
If a NAME attribute is used on the file, the memo file will
use the prefix of the NAME attribute with the extension
"MEM".
Support for transaction processing is provided.
Maintenance Utililities.
There are two utilities shipped for use with the Clarion
driver; Csrt.exe or "Sorter" and Cfil.exe or "Filer". The
current version of CFIL.exe expects the source code
declaration of the file to be in 2.1 format; this means you
can't have a "driver" attribute in the source definition
used for CFIL.exe. There will be a 3.0 version of both
utilities.
BTRIEVE Driver.
_________________________
Driver string: Btrieve
Libraries:
DXVBTRV.LIB Static Link
DOVBTRV.LIB Overlay Link
DDVBTRV.LIB Dynamic Link Library (DLL)
The Overlay and DLL models produce an overlayed executable.
The Static model creates a static linked executable.
Data Types Supported.
Clarion data type Btrieve internal data type
------------------------------------------------------------------------
BYTE STRING (1 byte)
SHORT INTEGER (2 bytes)
LONG INTEGER (4 bytes)
REAL FLOAT (8 bytes)
PDECIMAL DECIMAL
STRING STRING
CSTRING ZSTRING
PSTRING LSTRING
SREAL FLOAT (4 bytes)
DATE DATE
TIME TIME
ULONG UNSIGNED BINARY (4 bytes)
USHORT UNSIGNED BINARY (2 bytes)
MEMO STRING (stored in a separate data file)
See the Language Reference manual for details on these data
types.
The Btrieve data types; BFLOAT, LOGICAL, MONEY and NUMERIC
are not supported.
File Specifications - Maximums
File Size : 4 Billion Bytes
Records per File : Limited by the size of the file
Record Size
Client-based : 64K variable length
Server based : 54K variable length
Field Size : 64K
Fields per Record : 64K
Keys/Indexes per File : 24
Key Size : 245 bytes
Memo fields per File : System memory dependent
Memo field size : 64K
Open Files : Operating system dependent
General Characteristics.
The data file, all KEY and INDEX files are stored in a
single file.
Data files default to a filename extension of .DAT, this can
be overridden by the use of the NAME attribute.
Records are stored variable length. One record can be
locked in each open file.
KEY files are stored in the data file. KEYS are dynamic,
they are automatically updated when the data file is
changed. They are created as Btrieve "supplemental" keys,
so they may be dropped from the file.
INDEX files are stored separate from data files. INDEX
files are named using a temporary file name, they are
removed from the disk when the program terminates normally.
INDEX files are static, they are not automatically updated
when the data file is changed. Index files are created and
updated by using the BUILD statement.
Memo files are named by appending "MEM" to the file's label.
Labels' that exceed five characters are truncated to five
before appending "MEM". The extension of MEMO files is
".DAT ".
*General Characteristics:
Assignment of owner names to files. Support for pre-imaging
before records are added, changed, or deleted. Support for
transaction processing is provided. Support for dynamic
encryption and decryption of data.
Key and indexes are stored as part of the physical data
file. Support for duplicate, ascending and descending
keys/indexes.
Btrieve can run on either a workstation (client-based) or a
server (server-based). The client-based version of Btrieve
performs all processing on the workstation. All files
whether stored locally or on a network are accessed through
DOS system calls.
The server-based version of Btrieve runs on a Novell Netware
server. In the server based version, the Btrieve record
manager runs on the server and a Btrieve requester program
runs on the workstation. The Btrieve record manager running
on the server handles all file I/O, and the Btrieve
requester handles I/O between the server and the
workstation.
*Client-based Btrieve and DOS 3.1 compatible networks
Btrieve is implemented as a terminate and stay resident
(TSR) program. The Btrieve record manager BTRIEVE.EXE must
be loaded before you start your application. Workstations
running on DOS 3.1 compatible networks must each load their
own copy of Btrieve.
Btrieve.exe occupies a minimum of ??K of RAM, in addition to
the memory required by your application. Btrieve remains
resident until you remove it from memory using the BUTIL
utility.
*Server-based Btrieve
Netware Btrieve is a server-based version of Btrieve that
runs on a Novell server. The Btrieve requester program
Brequest.exe must be loaded at each workstation. Btrieve
remains resident until you remove it from memory using the
BUTIL utility.
Run-time requirements
We recommend using a batch file to load Btrieve, start your
application, and then remove Btrieve from memory. Check
your Btrieve manual for start-up options. Page size must be
set to 4096 bytes.
example: Client-based Server-based
Btrieve /M:48 /P:4096 Brequest
Program.exe Program.exe
Butil -Stop Butil -Stop
Other Considerations.
Btrieve has a startup option that allows you to specify a
cache buffer size. The amount of memory you reserve for the
cache buffer directly affects the performance of your
application.
Btrieve uses an unsigned long for its internal record
pointer; negative values are stripped of their sign. We
recommend you use the ULONG data type for your record
pointer.
Btrieve File I/O support.
Set( file,filepointer )
Set( key,keypointer )
If a file or key pointer has a value of zero, or any
other value that does not exist in the file, the pointer
parameter is ignored. Processing is set to either file or
key order, and the record pointer is set to the first
element.
Set( key,key,filepointer )
If the filepointer has a value of zero, or any other
value that does not exist in the file, processing will
start at the first key value equal to, or greater than, the
value in the RECORD structure.
Xbase Driver.
________________________
Driver Attribute string: Xbase
Libraries:
DXVXBASE.LIB Static Link
DOVXBASE.LIB Overlay Link
DDVXBASE.LIB Dynamic Link Library (DLL)
The Overlay and DLL models produce an overlayed executable.
The Static model creates a static linked executable.
Data Types Supported.
Clarion data type xBASE data type
String(@D1) Date
String(@Np.d) p is the Numeric
length of the whole number,
and d is the number of
decimal places.
String(@np.d) p is the Float
length of the whole number,
and d is the number of
decimal places.
(maximum of 20 places total)
String(@S1) Logical
String(@Sx) x is the length Character
of the field. (maximum length of 254)
Memo Memo
A Memo field also requires
allocation of a 10 byte
pointer in the record
structure. The pointer is
defined as:
Memo String(@s10)
See the Language Reference manual for details on these
data types.
File Specifications - Maximums
File Size : 2 billion
Records per File : 1 billion
Record Size : 4000 bytes
Field Size
Character : 254 bytes
Date : 8 bytes
Logical : 1 byte
Numeric : 20 bytes including decimal point
Float : 20 bytes including decimal point
Memo : No Limit
Fields per Record : 255
Keys/Indexes per File :
.Ndx : No Limit
.Mdx : 47 tags per .MDX file
Key Sizes
.Ndx : Character: 100 bytes
.Ndx : Numeric,Float,Date: 8 bytes
.Mdx : Character: 100 bytes
.Mdx : Numeric,Float: 12 bytes
.Mdx : Date: 8 bytes
Memo fields per File : dependent on available memory
Open Files : Operating system dependent
General Characteristics.
The data file, all KEY and INDEX files must be defined with
a NAME attribute that does not contain an extension. All
fields must be defined with a NAME attribute. The components
of the KEY or INDEX must be of the same data type.
Data files default to a filename extension of .DBF, this
cannot be overridden by the use of the NAME attribute.
Records are stored fixed length. One record can be locked
in each open file.
KEY files are stored separate from data files. Key files
are named using the NAME attribute of the KEY file, with the
extension .NDX or .MDX. KEYS are dynamic, they are automatically
updated when the data file is changed.
INDEX files are stored separate from data files. INDEX
files are named using the NAME attribute of the INDEX file,
with the extension .NDX . INDEX files are static, they are
not automatically updated when the data file is changed.
Index files are created and updated by using the BUILD
statement.
Support for transaction processing is provided.