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 >
Text File  |  1993-01-01  |  16KB  |  436 lines

  1.      File Driver Technology.
  2.  
  3.      With release 3.0 Clarion becomes database-independent.
  4.      Access to supported file systems is transparent to both
  5.      developer's and end-user's.  Assigning a driver label to a
  6.      file structure is all that is required to gain access to
  7.      that file (see Language Reference Manual).
  8.  
  9.      Applications you develop using a supported driver can easily
  10.      be transported to any other database driver; with little or
  11.      no change to your application's source code.  Program code
  12.      modifications may be needed for  SQL engines.
  13.  
  14.      Clarion provides direct access to data stored in the
  15.      following file formats:
  16.  
  17.      Btrieve - Creates, reads and writes Btrieve files, using low-
  18.      level direct access.  Clarion also supports access to
  19.      Btrieve files in a client/server mode (using Brequest)  on a
  20.      Novell network.
  21.  
  22.      Xbase - Creates, reads and writes dBase III compatible data
  23.      and index files.
  24.  
  25.      NetSQL - Creates, reads and writes files defined for
  26.      Novell's relational database engine.  Supports all of the
  27.      transaction control and security features of SQL.  Works
  28.      cooperatively with applications that support direct-access
  29.      to Btrieve files.
  30.  
  31.      Clarion - Creates, reads and writes files defined for our
  32.      proprietary file system.
  33.  
  34.      Basic - Creates, reads and writes comma-quote delimited
  35.      ASCII files.
  36.  
  37.      ASCII - Creates, reads and writes standard Ascii (text)
  38.      files.  Records are separated by a carriage-return / line-
  39.      feed.
  40.  
  41.      Binary - Creates, reads and writes files stored in binary,
  42.      byte-addressable format.
  43.  
  44.      An application can simultaneously access files stored in any
  45.      of these formats.    These file systems can be accessed in a
  46.      multi-user environment, with complete file and record
  47.      locking capabilities.
  48.  
  49.      Clarion applications directly access the source data file.
  50.      This creates a cooperative processing environment where data
  51.      can be shared among multiple applications.
  52.  
  53.  
  54.      File System Requirements
  55.  
  56.      Some of the supported file systems have special runtime
  57.      considerations.  Not all file systems support the entire
  58.      collection of Clarion file I/O language statements.  The
  59.      exceptions are due to differences between file systems in
  60.      data storage, and methods used for keyed access.  Each
  61.      driver is described separately, and any special requirements
  62.      are noted.
  63.  
  64.  
  65.      Clarion 3.0 Driver.
  66.      ________________________________
  67.  
  68.      Driver Attribute string: Clarion
  69.  
  70.      Libraries:
  71.  
  72.      DXVCLA21.LIB   Static Link
  73.      DOVCLA21.LIB   Overlay  Link
  74.      DDVCLA21.LIB   Dynamic Link Library (DLL)
  75.  
  76.  
  77.      The Overlay and DLL models produce an overlayed executable.
  78.      The Static model creates a static linked executable.
  79.  
  80.           Data Types Supported.
  81.  
  82.           BYTE   SHORT   LONG   REAL   DECIMAL   STRING   MEMO
  83.      GROUP
  84.  
  85.           See the Language Reference manual for details on these
  86.      data types.
  87.  
  88.           File Specifications - Maximums
  89.  
  90.  
  91.      File Size                :  limited only by disk space
  92.      Records per File         :  Unsigned Long (4,294,967,295)
  93.      Record Size              :  64K
  94.      Field Size               :  64K
  95.      Fields per Record        :  64K
  96.      Keys/Indexes per File    :  251
  97.      Key Size                 :  245 bytes
  98.      Memo fields per File     :  1
  99.      Memo Field Size          :  64K
  100.      Open Data Files          :  Operating system dependent
  101.  
  102.  
  103.           General Characteristics.
  104.  
  105.  
  106.      Data files default to a filename extension of .DAT, this can
  107.      be overridden by the use of the NAME attribute.
  108.  
  109.      Records are stored fixed length.  The File can be locked, or
  110.      one record can be locked in each open file.
  111.  
  112.      KEY files are stored separate from data files.  Key files
  113.      are named using the label of the data file, with the
  114.      extension .K01 for the first KEY, K02, K03 and so on.   KEYS
  115.      are dynamic, they are automatically updated  when the data
  116.      file is changed.  If a NAME attribute is specified, the Key
  117.      will use the prefix of the NAME along with the .K##
  118.      extension.
  119.  
  120.      INDEX files are stored separate from data files.  INDEX
  121.      files are named using the label of the data file, with the
  122.      extension .I01 for the first INDEX, I02, I03 and so on.
  123.      INDEX files are static, they are not automatically updated
  124.      when the data file is changed.  Index files are created and
  125.      updated by using the BUILD statement.   If a NAME attribute
  126.      is specified, the INDEX will use the prefix of the NAME
  127.      along with the .I## extension.
  128.  
  129.      Memo fields are stored in a separate file.  A memo file uses
  130.      the label of the file structure with the extension "MEM".
  131.      If a NAME attribute is used on the file, the memo file will
  132.      use the prefix of the NAME attribute with the extension
  133.      "MEM".
  134.  
  135.      Support for transaction processing is provided.
  136.  
  137.      Maintenance Utililities.
  138.  
  139.      There are two utilities shipped for use with the Clarion
  140.      driver; Csrt.exe or "Sorter" and Cfil.exe or "Filer".   The
  141.      current version of CFIL.exe expects the source code
  142.      declaration of the file to be in 2.1 format; this means you
  143.      can't have a "driver" attribute in the source definition
  144.      used for CFIL.exe.  There will be a 3.0 version of both
  145.      utilities.
  146.  
  147.  
  148.      BTRIEVE Driver.
  149.      _________________________
  150.  
  151.      Driver string: Btrieve
  152.  
  153.      Libraries:
  154.  
  155.      DXVBTRV.LIB    Static Link
  156.      DOVBTRV.LIB    Overlay  Link
  157.      DDVBTRV.LIB    Dynamic Link Library (DLL)
  158.  
  159.  
  160.      The Overlay and DLL models produce an overlayed executable.
  161.      The Static model creates a static linked executable.
  162.  
  163.           Data Types Supported.
  164.  
  165.        Clarion data type             Btrieve internal data type
  166.      ------------------------------------------------------------------------
  167.        BYTE                          STRING (1 byte)
  168.        SHORT                         INTEGER (2 bytes)
  169.        LONG                          INTEGER (4 bytes)
  170.        REAL                          FLOAT (8 bytes)
  171.        PDECIMAL                      DECIMAL
  172.        STRING                        STRING
  173.        CSTRING                       ZSTRING
  174.        PSTRING                       LSTRING
  175.        SREAL                         FLOAT (4 bytes)
  176.        DATE                          DATE
  177.        TIME                          TIME
  178.        ULONG                         UNSIGNED BINARY (4 bytes)
  179.        USHORT                        UNSIGNED BINARY (2 bytes)
  180.        MEMO                          STRING (stored in a separate data file)
  181.  
  182.  
  183.  
  184.      See the Language Reference manual for details on these data
  185.      types.
  186.  
  187.      The Btrieve data types; BFLOAT, LOGICAL, MONEY and NUMERIC
  188.      are not supported.
  189.  
  190.  
  191.           File Specifications - Maximums
  192.  
  193.  
  194.      File Size                :  4  Billion Bytes
  195.      Records per File         :  Limited by the size of the file
  196.      Record Size
  197.        Client-based           :  64K variable length
  198.        Server based           :  54K variable length
  199.      Field Size               :  64K
  200.      Fields per Record        :  64K
  201.      Keys/Indexes per File    :  24
  202.      Key Size                 :  245 bytes
  203.      Memo fields per File     :  System memory dependent
  204.      Memo field size          :  64K
  205.      Open Files               :  Operating system dependent
  206.  
  207.  
  208.      General Characteristics.
  209.  
  210.      The data file, all KEY and INDEX files are stored in a
  211.      single file.
  212.  
  213.      Data files default to a filename extension of .DAT, this can
  214.      be overridden by the use of the NAME attribute.
  215.  
  216.      Records are stored variable length.  One record can be
  217.      locked in each open file.
  218.  
  219.      KEY files are stored in the data file.  KEYS are dynamic,
  220.      they are automatically updated  when the data file is
  221.      changed.  They are created as Btrieve "supplemental" keys,
  222.      so they may be dropped from the file.
  223.  
  224.      INDEX files are stored separate from data files.  INDEX
  225.      files are named using a temporary file name, they are
  226.      removed from the disk when the program terminates normally.
  227.      INDEX files are static, they are not automatically updated
  228.      when the data file is changed.  Index files are created and
  229.      updated by using the BUILD statement.
  230.  
  231.      Memo files are named by appending "MEM" to the file's label.
  232.      Labels' that exceed five characters are truncated to five
  233.      before appending "MEM".  The extension of MEMO files is
  234.      ".DAT ".
  235.  
  236.     *General Characteristics:
  237.  
  238.      Assignment of owner names to files.  Support for pre-imaging
  239.      before records are added, changed, or deleted.  Support for
  240.      transaction processing is provided.  Support for dynamic
  241.      encryption and decryption of data.
  242.  
  243.      Key and indexes are stored as part of the physical data
  244.      file.  Support for duplicate, ascending and descending
  245.      keys/indexes.
  246.  
  247.      Btrieve can run on either a workstation (client-based) or a
  248.      server (server-based).  The client-based version of Btrieve
  249.      performs all processing on the workstation.  All files
  250.      whether stored locally or on a network are accessed through
  251.      DOS system calls.
  252.  
  253.      The server-based version of Btrieve runs on a Novell Netware
  254.      server.  In the server based version, the Btrieve record
  255.      manager runs on the server and a Btrieve requester program
  256.      runs on the workstation.  The Btrieve record manager running
  257.      on the server handles all file I/O, and the Btrieve
  258.      requester handles I/O between the server and the
  259.      workstation.
  260.  
  261.     *Client-based Btrieve and DOS 3.1 compatible networks
  262.  
  263.      Btrieve is implemented as a terminate and stay resident
  264.      (TSR) program.  The Btrieve record manager BTRIEVE.EXE must
  265.      be loaded before you start your application.  Workstations
  266.      running on DOS 3.1 compatible networks must each load their
  267.      own copy of Btrieve.
  268.  
  269.      Btrieve.exe occupies a minimum of ??K of RAM, in addition to
  270.      the memory required by your application.  Btrieve remains
  271.      resident until you remove it from memory using the BUTIL
  272.      utility.
  273.  
  274.     *Server-based Btrieve
  275.  
  276.      Netware Btrieve is a server-based version of Btrieve that
  277.      runs on a Novell server.  The Btrieve requester program
  278.      Brequest.exe must be loaded at each workstation.  Btrieve
  279.      remains resident until you remove it from memory using the
  280.      BUTIL utility.
  281.  
  282.      Run-time requirements
  283.  
  284.      We recommend using a batch file to load Btrieve, start your
  285.      application, and then remove Btrieve from memory.  Check
  286.      your Btrieve manual for start-up options.  Page size must be
  287.      set to 4096 bytes.
  288.  
  289.      example:  Client-based             Server-based
  290.  
  291.                Btrieve /M:48 /P:4096    Brequest
  292.                Program.exe              Program.exe
  293.                Butil -Stop              Butil -Stop
  294.  
  295.  
  296.      Other Considerations.
  297.  
  298.      Btrieve has a startup option that allows you to specify a
  299.      cache buffer size.  The amount of memory you reserve for the
  300.      cache buffer directly affects the performance of your
  301.      application.
  302.  
  303.      Btrieve uses an unsigned long for its internal record
  304.      pointer; negative values are stripped of their sign.  We
  305.      recommend you use the ULONG data type for your record
  306.      pointer.
  307.  
  308.      Btrieve File I/O support.
  309.  
  310.      Set( file,filepointer )
  311.      Set( key,keypointer )
  312.  
  313.      If a file or key pointer has a value of zero, or any
  314.      other value that does not exist in the file, the pointer
  315.      parameter is ignored.  Processing is set to either file or
  316.      key order, and the record pointer is set to the first
  317.      element.
  318.  
  319.      Set( key,key,filepointer )
  320.  
  321.      If the filepointer has a value of zero, or any other
  322.      value that does not exist in the file, processing will
  323.      start at the first key value equal to, or greater than, the
  324.      value in the RECORD structure.
  325.  
  326.  
  327.  
  328.      Xbase Driver.
  329.      ________________________
  330.  
  331.      Driver Attribute string: Xbase
  332.  
  333.      Libraries:
  334.  
  335.      DXVXBASE.LIB   Static Link
  336.      DOVXBASE.LIB   Overlay  Link
  337.      DDVXBASE.LIB   Dynamic Link Library (DLL)
  338.  
  339.  
  340.      The Overlay and DLL models produce an overlayed executable.
  341.      The Static model creates a static linked executable.
  342.  
  343.      Data Types Supported.
  344.  
  345.      Clarion data type                       xBASE data type
  346.  
  347.         String(@D1)                               Date
  348.  
  349.         String(@Np.d)  p is the                   Numeric
  350.         length of the whole number,
  351.         and d is the number of
  352.         decimal places.
  353.  
  354.         String(@np.d)  p is the                   Float
  355.         length of the whole number,
  356.         and d is the number of
  357.         decimal places.
  358.         (maximum of 20 places total)
  359.  
  360.         String(@S1)                               Logical
  361.  
  362.         String(@Sx) x is the length               Character
  363.         of the field. (maximum length of 254)
  364.  
  365.         Memo                                      Memo
  366.  
  367.         A Memo field also requires
  368.         allocation of a 10 byte
  369.         pointer in the record
  370.         structure.  The pointer is
  371.         defined as:
  372.  
  373.         Memo    String(@s10)
  374.  
  375.  
  376.           See the Language Reference manual for details on these
  377.      data types.
  378.  
  379.           File Specifications - Maximums
  380.  
  381.  
  382.      File Size                :  2 billion
  383.      Records per File         :  1 billion
  384.      Record Size              :  4000 bytes
  385.      Field Size
  386.           Character           :  254 bytes
  387.           Date                :  8 bytes
  388.           Logical             :  1 byte
  389.           Numeric             :  20 bytes including decimal point
  390.           Float               :  20 bytes including decimal point
  391.           Memo                :  No Limit
  392.      Fields per Record        :  255
  393.      Keys/Indexes per File    :
  394.           .Ndx                :  No Limit
  395.           .Mdx                :  47 tags per .MDX file
  396.      Key Sizes
  397.           .Ndx                :  Character: 100 bytes
  398.           .Ndx                :  Numeric,Float,Date: 8 bytes
  399.  
  400.           .Mdx                :  Character: 100 bytes
  401.           .Mdx                :  Numeric,Float: 12 bytes
  402.           .Mdx                :  Date: 8 bytes
  403.      Memo fields per File     :  dependent on available memory
  404.      Open Files               :  Operating system dependent
  405.  
  406.  
  407.           General Characteristics.
  408.  
  409.  
  410.      The data file, all KEY and INDEX files must be defined with
  411.      a NAME attribute that does not contain an extension.  All
  412.      fields must be defined with a NAME attribute.  The components
  413.      of the KEY or INDEX must be of the same data type.
  414.  
  415.      Data files default to a filename extension of .DBF, this
  416.      cannot be overridden by the use of the NAME attribute.
  417.  
  418.      Records are stored fixed length.  One record can be locked
  419.      in each open file.
  420.  
  421.      KEY files are stored separate from data files.  Key files
  422.      are named using the NAME attribute of the KEY file, with the
  423.      extension .NDX or .MDX.  KEYS are dynamic, they are automatically
  424.      updated  when the data file is changed.
  425.  
  426.      INDEX files are stored separate from data files.  INDEX
  427.      files are named using the NAME attribute of the INDEX file,
  428.      with the extension .NDX .  INDEX files are static, they are
  429.      not automatically updated  when the data file is changed.
  430.      Index files are created and updated by using the BUILD
  431.      statement.
  432.  
  433.      Support for transaction processing is provided.
  434.  
  435.  
  436.