home *** CD-ROM | disk | FTP | other *** search
/ Monster Media 1993 #2 / Image.iso / database / p4w_all.zip / TI1246.ASC < prev    next >
Text File  |  1993-04-27  |  34KB  |  991 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.   PRODUCT  :  Paradox for Windows, Paradox for DOS   NUMBER  :  1246
  9.   VERSION  :  All
  10.        OS  :  DOS,WIN
  11.      DATE  :  April 27, 1993                           PAGE  :  1/15
  12.  
  13.     TITLE  :  Paradox Table Formats and Network Locking Protocols
  14.  
  15.  
  16.  
  17.  
  18.   Intended Audience:
  19.   This information will be of benefit to anyone considering Paradox
  20.   version issues.
  21.  
  22.   Prerequisites:
  23.   A basic knowledge or interest in Paradox locking protocols and
  24.   table formats.
  25.  
  26.   Purpose:
  27.   To give users a better understanding of these issues, as well as
  28.   to help implement applications where multiple versions of Paradox
  29.   are in use.
  30.  
  31.  
  32.   This document will explain the differences and similarities of the
  33.   four different variations of the Paradox locking protocols:
  34.   Paradox 3.5, Paradox Engine 2.0, and earlier; Paradox 4.0;
  35.   Paradox Engine 3.0; and the DataBase Desktop.  For specific
  36.   implementations, please see the respective user guides,
  37.   programming guides, and programming references for Paradox,
  38.   Paradox Engine, or other Paradox aware applications that you are
  39.   running.
  40.  
  41.   Table and field types and features supported
  42.  
  43.   Each major release of Paradox has implemented improvements to
  44.   table structures since version 2.0.  All Paradox table types from
  45.   Paradox 1.0 through Paradox 3.5 are compatible with each other.
  46.  
  47.   Examples:
  48.  
  49.      1.  A table created in Paradox 1.0 is compatible with Paradox
  50.          3.5 and vice versa.
  51.  
  52.      2.  A table created in Engine 2.0 can be read by Engine 1.0.
  53.  
  54.      3.  Paradox 3.5 and Engine 2.0 or earlier can read, write and
  55.          create tables that are compatible with Paradox 1.0 through
  56.          Paradox 3.5 and Engine 1.0 through Engine 2.0.
  57.  
  58.   Paradox 4.0 adds a new data type to the table format: Binary Large
  59.   Objects, commonly known as BLObs and new types of Secondary
  60.   Indices.  Paradox 4.0 supports two types of BLOb fields: Memo, and
  61.  
  62.  
  63.  
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70.  
  71.  
  72.  
  73.  
  74.   PRODUCT  :  Paradox for Windows, Paradox for DOS   NUMBER  :  1246
  75.   VERSION  :  All
  76.        OS  :  DOS,WIN
  77.      DATE  :  April 27, 1993                           PAGE  :  2/15
  78.  
  79.     TITLE  :  Paradox Table Formats and Network Locking Protocols
  80.  
  81.  
  82.  
  83.  
  84.   BLOb.  Versions of Paradox prior to 4.0, or the Engine prior to
  85.   3.0, cannot read, write, or create this new table format.  If  you
  86.   attempt to read or write a Paradox 4.0 table type in an earlier
  87.   version of Paradox, it will return an error that the table is
  88.   password protected.
  89.  
  90.   Paradox 4.0 can read, write, and create Paradox table types that
  91.   are compatible with Paradox 1.0 through Paradox 4.0.  So a table
  92.   created in Paradox 1.0 is compatible with Paradox 4.0.  A table
  93.   created in Engine 1.0 or 2.0 can be read by or written to by
  94.   Paradox 4.0.
  95.  
  96.   Paradox and the Engine do not change the table type when reading
  97.   or writing.  The table type is only changed when a Modify |
  98.   Restructure is performed on the table in Paradox or the
  99.   PxTableUpdate() Engine 3.0 function is called.
  100.  
  101.   Table Formats Supported
  102.  
  103.   The following table lists which Borland products support which
  104.   Paradox table format.
  105.  
  106.   ╔═══════════════════════════════════╦══════════════════════════════╗
  107.   ║Paradox 1.0 through 3.5            ║Paradox 4.0                   ║
  108.   ╟═══════════════════════════════════╬══════════════════════════════╣
  109.   ║Paradox 1.0 - 4.0                  ║Paradox 4.0                   ║
  110.   ║Paradox Runtime 2.0 - 4.0          ║Quattro Pro 4.0               ║
  111.   ║Quattro Pro 2.0 - 4.0              ║Quattro Pro for Windows       ║
  112.   ║Quattro Pro for Windows            ║DataBase Desktop              ║
  113.   ║DataBase Desktop                   ║ObjectVision 2.1              ║
  114.   ║ObjectVision 1.0 - 2.1             ║Paradox Engine 3.0            ║
  115.   ║SideKick 2.0                       ║ODAPI Engine                  ║
  116.   ║Reflex 2.0                         ║Paradox for Windows           ║
  117.   ║Paradox Engine 1.0 - 3.0           ║                              ║
  118.   ║Paradox for Windows                ║                              ║
  119.   ║ODAPI Engine                       ║                              ║
  120.   ╚═══════════════════════════════════╩══════════════════════════════╝
  121.  
  122.   Paradox Locking Protocols
  123.  
  124.   There are two different Paradox locking protocols: the protocol
  125.   introduced with Paradox 2.0 and the protocol introduced with
  126.   Paradox 4.0.  These two protocols are not compatible with each
  127.  
  128.  
  129.  
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136.  
  137.  
  138.  
  139.  
  140.   PRODUCT  :  Paradox for Windows, Paradox for DOS   NUMBER  :  1246
  141.   VERSION  :  All
  142.        OS  :  DOS,WIN
  143.      DATE  :  April 27, 1993                           PAGE  :  3/15
  144.  
  145.     TITLE  :  Paradox Table Formats and Network Locking Protocols
  146.  
  147.  
  148.  
  149.  
  150.   other.  The locking protocol has no bearing on which type of
  151.   table a program can work with.  There are a few programs that can
  152.   support either locking protocol; however, these programs can only
  153.   support one protocol at a time.
  154.  
  155.   Paradox 2.0 Locking Protocol
  156.  
  157.   The Paradox 2.0 locking protocol is the only protocol available
  158.   for Paradox and Paradox Runtime versions 2.0 through 3.5 and
  159.   Paradox Engine versions 1.0 through 2.0.  It is also the locking
  160.   protocol used by Borland applications built with versions 1.0 or
  161.   2.0 of the Paradox Engine, such as: Quattro Pro 2.0 - 4.0, Object
  162.   Vision 1.0 - 2.0, and SideKick 2.0.  The designation "Paradox 2.0
  163.   locking protocol" represents this level of concurrency.
  164.  
  165.   Network Control File
  166.  
  167.   The Paradox network control file, PARADOX.NET serves as the
  168.   reference point for all lock files created by Paradox and the
  169.   Engine.  Each lock file references the network control file, so
  170.   each user must map to the same network control file in the same
  171.   way.
  172.  
  173.   For example, if you are using volume DATA on file server SERVER_1
  174.   and the network control file is in the directory \PDOXDATA, each
  175.   user must map \\SERVER_1\DATA:\PDOXDATA the same way, using the
  176.   same drive letter.  If the network you are using does not have
  177.   volumes, then DATA would be a directory off the root of SERVER_1.
  178.   If you are mapping \\SERVER_1\DATA to the root of drive P:, each
  179.   Paradox system would specify the location of PARADOX.NET as
  180.   P:\PDOXDATA\.
  181.  
  182.   Directory Locks
  183.  
  184.   Paradox places a locking file, PARADOX.LCK, in each directory
  185.   where tables are being accessed.  This locking file regulates
  186.   concurrent access to files in the directory.  The lock file
  187.   references PARADOX.NET, so every user must map to the data
  188.   directory the same way using the same drive letter and path.
  189.    
  190.  
  191.  
  192.  
  193.  
  194.  
  195.  
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202.  
  203.  
  204.  
  205.  
  206.   PRODUCT  :  Paradox for Windows, Paradox for DOS   NUMBER  :  1246
  207.   VERSION  :  All
  208.        OS  :  DOS,WIN
  209.      DATE  :  April 27, 1993                           PAGE  :  4/15
  210.  
  211.     TITLE  :  Paradox Table Formats and Network Locking Protocols
  212.  
  213.  
  214.  
  215.  
  216.   Shareable Directories
  217.  
  218.   When Paradox, or Paradox Engine applications need to access
  219.   tables in a directory, they place a "Shareable" PARADOX.LCK file
  220.   in that directory.  This designation simply means that other
  221.   Paradox/Engine users can access tables in that directory.  In
  222.   Paradox this is known as a "Working" directory.
  223.  
  224.   Exclusive Directories
  225.  
  226.   Paradox and Paradox Runtime also need a directory to store
  227.   temporary files, such as the Answer table from a query.  When
  228.   Paradox or Paradox Runtime start, they also place an "Exclusive"
  229.   PARADOX.LCK file in a directory, designating that directory as
  230.   the location for temporary files.  This designation means that
  231.   other Paradox/Engine users cannot access tables in that
  232.   directory.  The Paradox Engine does not provide a method of
  233.   creating an exclusive PARADOX.LCK file.  In Paradox, this is
  234.   known as a "Private" directory.  (These "Exclusive" directory
  235.   locks are also important with Paradox 4.0.)
  236.  
  237.   Table Locks
  238.  
  239.   The Paradox 2.0 locking protocol places a separate lock file,
  240.   TablName.LCK, for each table being accessed.  That table does not
  241.   necessarily have to exist when the lock file is created.  The
  242.   table lock file holds all of the locking information for that
  243.   table.  For example, if three users are viewing CUSTOMER.DB, the
  244.   CUSTOMER.LCK file will have a shareable lock listed for each of
  245.   those three users.
  246.  
  247.   Possible Conflicts and Limits
  248.  
  249.   There is one major limit of the Paradox 2.0 locking protocol, the
  250.   "Form Lock."  Paradox 3.0 introduced the multi-table form and,
  251.   along with it, a need to enforce referential integrity between
  252.   the tables.  The solution was to limit concurrent coediting
  253.   access to users working with the same form, hence the name "Form
  254.   Lock."  This would appear as a Write Lock to other Paradox and
  255.   Engine users working with the same tables, but not in the same
  256.   form.
  257.  
  258.  
  259.  
  260.  
  261.  
  262.  
  263.  
  264.  
  265.  
  266.  
  267.  
  268.  
  269.  
  270.  
  271.  
  272.   PRODUCT  :  Paradox for Windows, Paradox for DOS   NUMBER  :  1246
  273.   VERSION  :  All
  274.        OS  :  DOS,WIN
  275.      DATE  :  April 27, 1993                           PAGE  :  5/15
  276.  
  277.     TITLE  :  Paradox Table Formats and Network Locking Protocols
  278.  
  279.  
  280.  
  281.  
  282.   The Form Lock activates when a user accesses tables via a multi-
  283.   table form in Coedit mode.  From that point all other users who
  284.   want to coedit those tables must use the same multi-table form.
  285.   This restriction remains in effect until all users working with
  286.   those tables are out of Coedit mode.
  287.  
  288.   Paradox 4.0 Locking Protocol
  289.  
  290.   The Paradox 4.0 locking protocol is the only protocol available
  291.   for Paradox 4.0 and the ODAPI Engine.  Applications written with
  292.   the Paradox Engine library version 3.0 are capable of switching
  293.   which locking protocol they use.  The designation "Paradox 4.0
  294.   locking protocol" represents this style of locking and
  295.   concurrency.
  296.  
  297.   Network Control File
  298.  
  299.   The Paradox network control file, PDOXUSRS.NET, serves as the
  300.   reference point for all lock files created by Paradox.  Each lock
  301.   file references the network control file, so each user must map
  302.   to the same network control file in the same way, but not
  303.   necessarily with the same drive letter.
  304.  
  305.   For example, if you are using volume DATA on server SERVER_1 and
  306.   the network control file is in the directory \PDOXDATA each user
  307.   must map \\SERVER_1\DATA:\PDOXDATA the same way, however, each
  308.   user should, but is not required to use the same drive letter.
  309.   If the network you are using does not have volumes, then DATA
  310.   would be a directory off the root of SERVER_1.
  311.  
  312.   If you are mapping \\SERVER_1\DATA to the root of drive P: then
  313.   each Paradox system would specify the location of PARADOX.NET as
  314.   P:\PDOXDATA\.  However, other users could map \\SERVER_1\DATA to
  315.   the root of drive O: and specify O:\PDOXDATA\ as the location of
  316.   the network control file.
  317.  
  318.   Directory Locks
  319.  
  320.   Paradox 4.0 places a locking file, PDOXUSRS.LCK, in each
  321.   directory where tables are being accessed.  This locking file
  322.   regulates concurrent access to files in the directory.  This is
  323.   not to be confused with the "Dir Lock" feature in Paradox 4.0
  324.   (see Paradox 4.0 User's Guide, Chapter 21, Using Paradox on a
  325.  
  326.  
  327.  
  328.  
  329.  
  330.  
  331.  
  332.  
  333.  
  334.  
  335.  
  336.  
  337.  
  338.   PRODUCT  :  Paradox for Windows, Paradox for DOS   NUMBER  :  1246
  339.   VERSION  :  All
  340.        OS  :  DOS,WIN
  341.      DATE  :  April 27, 1993                           PAGE  :  6/15
  342.  
  343.     TITLE  :  Paradox Table Formats and Network Locking Protocols
  344.  
  345.  
  346.  
  347.  
  348.   network).  The lock file references PDOXUSRS.NET, so every user
  349.   must map to the data directory the same way.  It also places an
  350.   exclusive PARADOX.LCK file in the directory as well.  It does
  351.   this to prevent versions of Paradox or the Engine using the older
  352.   locking system from inadvertently accessing tables.
  353.  
  354.   Shareable Directories
  355.  
  356.   When Paradox or Paradox Runtime needs to access tables in a
  357.   directory, they place a "Shareable" PDOXUSRS.LCK file in that
  358.   directory and an "Exclusive" PARADOX.LCK file in that directory.
  359.   This designation means that other Paradox 4.0 users can access
  360.   tables in that directory.  The exclusive PARADOX.LCK file is
  361.   placed in this directory to keep the older, incompatible locking
  362.   protocol from putting data at risk.  In Paradox, this is known as
  363.   a "Working" directory.
  364.  
  365.   Exclusive Directories
  366.  
  367.   Paradox and Paradox Runtime also need a directory to store
  368.   temporary files, such as the Answer table from a query.  When
  369.   Paradox or Paradox Runtime start, they also place an "Exclusive"
  370.   PDOXUSRS.LCK file in a directory and an "Exclusive" PARADOX.LCK
  371.   file in the same directory, designating that directory as the
  372.   location for temporary files.  This designation means that other
  373.   Paradox users cannot access tables in that directory.  In Paradox
  374.   this is known as a "Private" directory.
  375.  
  376.   Table Locks
  377.  
  378.   Paradox 4.0 places each table lock in the directory locking file:
  379.   PDOXUSRS.LCK.  It no longer uses the separate table lock file of
  380.   previous versions.  For example, if three users are viewing the
  381.   CUSTOMER.DB table and one user is restructuring the ORDERS.DB
  382.   table, the PDOXUSRS.LCK file will have a shareable lock listed
  383.   for each of those three users who are viewing the CUSTOMER.DB
  384.   table, and an exclusive lock on ORDERS.DB for the user who is
  385.   restructuring that table.
  386.  
  387.   Benefits
  388.  
  389.   The major benefits of the Paradox 4.0 locking protocol are the
  390.   replacement of the "Form Lock" and the removal of separate table
  391.  
  392.  
  393.  
  394.  
  395.  
  396.  
  397.  
  398.  
  399.  
  400.  
  401.  
  402.  
  403.  
  404.   PRODUCT  :  Paradox for Windows, Paradox for DOS   NUMBER  :  1246
  405.   VERSION  :  All
  406.        OS  :  DOS,WIN
  407.      DATE  :  April 27, 1993                           PAGE  :  7/15
  408.  
  409.     TITLE  :  Paradox Table Formats and Network Locking Protocols
  410.  
  411.  
  412.  
  413.  
  414.   lock files.  The "Form Lock" has been replaced by a new lock
  415.   protocol called a "Group Lock."  See Technical Information Sheet
  416.   1063, An Explanation of Paradox 4.0 Locks, and Technical
  417.   Information Sheet 1109, Record Locks on a Network in Paradox 4.0
  418.   for more information about "Group Lock."  With the removal of
  419.   separate table lock files, the Paradox 4.0 locking protocol also
  420.   reduces number of files needed to maintain concurrent access.
  421.   These improvements should increase table concurrency and reduce
  422.   network access time.
  423.  
  424.   Concurrency
  425.  
  426.   Application concurrency can be confusing here because different
  427.   versions of different programs support different locking
  428.   protocols and therefore different levels of concurrency.  This
  429.   section describes the issues involved in multi-user environments
  430.   and how to configure different Paradox aware applications.
  431.  
  432.   Multiple Users
  433.  
  434.   Paradox keeps track of the number of concurrent users of the
  435.   Paradox system using the network control file.  The Paradox
  436.   serial number determines the number of user counts.  With the
  437.   PARADOX.NET file, from the Paradox 2.0 locking protocol, there
  438.   are spaces or slots for a total of 150 serial numbers.  With the
  439.   PDOXUSRS.NET file, from the Paradox 4.0 locking protocol, there
  440.   are now spaces or slots available for a maximum of 300 concurrent
  441.   serial numbers.  Each serial number can define up to 90 user
  442.   counts.  Each Paradox user must have a serial number to get on to
  443.   the system, however more than one user can use a serial number.
  444.   Each serial number only consumes one slot in the network control
  445.   file.
  446.  
  447.   Instead of having serial numbers, Paradox Runtime and Paradox
  448.   Engine increment the number of current users and increment the
  449.   number of user counts available at the same time.  However, each
  450.   instance of Paradox Runtime or the Paradox Engine will use one
  451.   serial number slot.
  452.  
  453.   When running under Microsoft Windows, the Paradox Engine
  454.   increments the user counts only once for all instances of any
  455.   Windows Engine applications running in that Windows session.
  456.    
  457.  
  458.  
  459.  
  460.  
  461.  
  462.  
  463.  
  464.  
  465.  
  466.  
  467.  
  468.  
  469.  
  470.   PRODUCT  :  Paradox for Windows, Paradox for DOS   NUMBER  :  1246
  471.   VERSION  :  All
  472.        OS  :  DOS,WIN
  473.      DATE  :  April 27, 1993                           PAGE  :  8/15
  474.  
  475.     TITLE  :  Paradox Table Formats and Network Locking Protocols
  476.  
  477.  
  478.  
  479.  
  480.   Paradox 2.0 Locking Protocol Concurrency
  481.  
  482.   In a multi-user environment, the Paradox 2.0 locking protocol
  483.   maintains concurrency through the PARADOX.NET file.  All users
  484.   who want to share Paradox tables must map to the same PARADOX.NET
  485.   file in the same way using the same drive letter and path.
  486.   Paradox places a PARADOX.LCK file in each directory where tables
  487.   are being accessed.  Each user who wants to share tables in that
  488.   directory must map that directory the same way, using the same
  489.   drive letter and path.  Paradox then places a TablName.LCK file
  490.   for each table that is being used.  This Table lock file holds
  491.   all of the different locks currently placed on that table.
  492.  
  493.   Paradox 4.0 Locking Protocol Concurrency
  494.  
  495.   In a multi-user environment, the Paradox 4.0 locking protocol
  496.   maintains concurrency through the PDOXUSRS.NET file.  All users
  497.   who want to share Paradox tables must map to the same
  498.   PDOXUSRS.NET file in the same way using the same path, but not
  499.   necessarily the same drive letter.  Paradox places a PDOXUSRS.LCK
  500.   and an exclusive PARADOX.LCK file in each directory where tables
  501.   are being accessed preventing previous versions of Paradox from
  502.   accessing files in the same directory.  Each user who wants to
  503.   share tables in that directory must map that directory the same
  504.   way using the same drive letter and path.  Paradox then places
  505.   all of the locking information for that table in the PDOXUSRS.LCK
  506.   file, reducing the number of files needed.
  507.  
  508.   Locking Protocols Supported
  509.  
  510.   The following table lists which Borland products support which
  511.   Paradox locking protocol.
  512.   ╔═════════════════════════╦═══════════════════╦═══════════════════╗
  513.   ║Paradox 2.0              ║Paradox 4.0        ║Either             ║
  514.   ╟═════════════════════════╬═══════════════════╬═══════════════════╣
  515.   ║Paradox 2.0 - 3.5        ║Paradox 4.0        ║Quattro Pro 4.0    ║
  516.   ║Paradox Runtime          ║Paradox Runtime 4.0║Quattro Pro        ║                   ║                   ║
  517.   ║    2.0 - 3.5            ║Database Desktop   ║    for Windows    ║
  518.   ║Quattro Pro 2.0 - 3.0    ║Paradox for Windows║ObjectVision 2.1   ║
  519.   ║ObjectVision 1.0 - 2.0   ║ODAPI Engine       ║Paradox Engine 3.0 ║
  520.   ║SideKick 2.0             ║                   ║                   ║
  521.   ║Paradox Engine 1.0 - 2.0 ║                   ║                   ║
  522.   ╚═════════════════════════╩═══════════════════╩═══════════════════╝
  523.  
  524.  
  525.  
  526.  
  527.  
  528.  
  529.  
  530.  
  531.  
  532.  
  533.  
  534.  
  535.  
  536.   PRODUCT  :  Paradox for Windows, Paradox for DOS   NUMBER  :  1246
  537.   VERSION  :  All
  538.        OS  :  DOS,WIN
  539.      DATE  :  April 27, 1993                           PAGE  :  9/15
  540.  
  541.     TITLE  :  Paradox Table Formats and Network Locking Protocols
  542.  
  543.  
  544.  
  545.  
  546.   Configuring Specific Applications
  547.  
  548.   This section explains how to configure different Borland
  549.   applications that are Paradox aware.
  550.  
  551.   Paradox
  552.  
  553.   You configure Paradox for multi-user environments during
  554.   installation or with the NUPDATE.EXE program (short for Network
  555.   Update).  NUPDATE.EXE lets you designate the network type and the
  556.   location of the network control file.  When completed, this
  557.   information is written into the PARADOX.SOM file.
  558.  
  559.   There are also command line options that override the settings in
  560.   PARADOX.SOM:
  561.  
  562.   -share and -net.  The -share command line option forces Paradox to
  563.   treat the local hard disk as a network drive.  The MS-DOS SHARE.EXE
  564.   program must be loaded into memory before starting Paradox with
  565.   this command line option.  The -net command line option forces
  566.   Paradox to use or create a network control file in the location
  567.   specified after -net.  A trailing backslash is required.  For
  568.   example:
  569.  
  570.        PARADOX -NET C:\DATA\ -SHARE
  571.  
  572.   Paradox 4.0 has a User Interface compatibility mode to cause it to
  573.   emulate the look and feel of Paradox 3.5.  This compatibility mode
  574.   does not change Paradox's locking protocol to be compatible with
  575.   Paradox 3.5.  There is no way to force Paradox 4.0 to use the older
  576.   style locking protocols.  The compatible User Interface mode also
  577.   does not force Paradox 4.0 to create compatible tables.
  578.  
  579.   There are three different ways to tell Paradox 4.0 to create or
  580.   restructure tables in compatible format:
  581.  
  582.       -  the Custom Configuration Program
  583.  
  584.       -  the FileFormat menu in Create or Modify | Restructure
  585.  
  586.       -  the command line switch -compfile.
  587.  
  588.    
  589.  
  590.  
  591.  
  592.  
  593.  
  594.  
  595.  
  596.  
  597.  
  598.  
  599.  
  600.  
  601.  
  602.   PRODUCT  :  Paradox for Windows, Paradox for DOS   NUMBER  :  1246
  603.   VERSION  :  All
  604.        OS  :  DOS,WIN
  605.      DATE  :  April 27, 1993                          PAGE  :  10/15
  606.  
  607.     TITLE  :  Paradox Table Formats and Network Locking Protocols
  608.  
  609.  
  610.  
  611.  
  612.   Quattro Pro for DOS
  613.  
  614.   Quattro Pro for DOS uses the Paradox Engine.  Versions 2.0 - 4.0
  615.   use versions 1.0 - 2.0 of the Paradox Engine.  Quattro Pro 4.0,
  616.   with files dated 9/12/92, uses version 3.0 of the Paradox Engine.
  617.   Set the location of the Paradox network control file by choosing
  618.   the menu selections:
  619.  
  620.        Options | Other | Paradox | Directory
  621.  
  622.   Set the network type by choosing:
  623.  
  624.        Options | Other | Paradox | Network Type
  625.  
  626.   With version 4.0, files dated 9/12/92, you will set the locking
  627.   protocol with an MS-DOS environment variable PXLOCKSTYLE.  A
  628.   default value of 0 causes Quattro Pro to use the Paradox 2.0
  629.   locking protocol.  With the value set to 1, Quattro Pro will use
  630.   the Paradox 4.0 locking protocol.  The example below will tell
  631.   Quattro Pro 4.0, files dated 9/12/92, to use the Paradox 4.0
  632.   locking protocol.
  633.  
  634.        SET PXLOCKSTYLE=1
  635.  
  636.   Quattro Pro 4.0 files, dated 9/12/92, will also determine the file
  637.   type it reads using this environment variable.  With a value of 0,
  638.   Quattro Pro will read a Paradox 3.5 table; with a value of 1,
  639.   Quattro Pro will read a Paradox 4.0 table.  Quattro Pro 4.0 will
  640.   always create to a 3.5 table; it will not create to a 4.0 table.
  641.  
  642.   SideKick
  643.  
  644.   SideKick 2.0 uses version 1.0 of the Paradox Engine.  It will
  645.   appear as a Paradox 3.0 application in any netfile listing.  You
  646.   configure SideKick for network access using the SKCONFIG.EXE
  647.   program.  From the opening screen select the option Network to
  648.   bring up the Network dialog box.  You can select the Network Type
  649.   and the Network control file directory in this dialog box.
  650.   SideKick will share files on the local hard disk when SHARE.EXE is
  651.   loaded and a network type of Unknown(DOS 3.1) is selected.  After
  652.   defining the SideKick's network configuration, choose Save
  653.   Configuration from the opening menu, then choose Exit.
  654.  
  655.  
  656.  
  657.  
  658.  
  659.  
  660.  
  661.  
  662.  
  663.  
  664.  
  665.  
  666.  
  667.  
  668.   PRODUCT  :  Paradox for Windows, Paradox for DOS   NUMBER  :  1246
  669.   VERSION  :  All
  670.        OS  :  DOS,WIN
  671.      DATE  :  April 27, 1993                          PAGE  :  11/15
  672.  
  673.     TITLE  :  Paradox Table Formats and Network Locking Protocols
  674.  
  675.  
  676.  
  677.  
  678.   Paradox Engine Applications
  679.  
  680.   The Paradox Engine defines network parameters with the PXNetInit()
  681.   function.  The programmer decides the type of network, the locking
  682.   protocol used, and the location of the network control file with
  683.   parameters to this function.  For more information about this
  684.   Paradox Engine function, see the Paradox Engine User's Guide.
  685.  
  686.   Engine 3.0 Locking
  687.  
  688.   The Paradox Engine 3.0 has two locking modes, standard and
  689.   compatible.  The Paradox Engine 3.0 is capable of operating in
  690.   either Paradox 2.0 locking or Paradox 4.0 locking.  The locking
  691.   protocol choice is made by a call to the appropriate Engine
  692.   function for non-Windows applications.  For Windows applications,
  693.   it is made with a call to PXWinInit() and written into the WIN.INI
  694.   file using PXENGCFG.EXE.  Quattro Pro 4.0p, ObjectVision 2.1, and
  695.   Quattro Pro for Windows all use the Paradox Engine 3.0.  (See below
  696.   for information on the DataBase Desktop.)
  697.  
  698.   Compatible Mode
  699.  
  700.   In Compatible Mode, Engine 3.0 uses the Paradox 2.0 locking
  701.   protocol.  In this mode, it will support the concurrency of Paradox
  702.   3.5/Engine 2.0.  However, it will still allow access to tables in
  703.   the Paradox 4.0 format.
  704.  
  705.   Standard Mode
  706.  
  707.   The Paradox Engine 3.0, when set to Paradox 4.0 or standard
  708.   locking, supports concurrency with Paradox 4.0.  When creating a
  709.   table with the Engine, you can use the appropriate function to set
  710.   which table type the engine will create, Paradox 3.5, or Paradox
  711.   4.0.
  712.  
  713.   Paradox Engine Windows Applications
  714.  
  715.   You define the network configuration of Paradox Engine Windows
  716.   applications with the PXENGCFG.EXE program.  This program writes
  717.   information into the WIN.INI file.  You define the location of the
  718.   Network control file, the locking protocol, and whether to share
  719.   local tables.  You also define the User Name that will appear in
  720.   the network control file.
  721.  
  722.  
  723.  
  724.  
  725.  
  726.  
  727.  
  728.  
  729.  
  730.  
  731.  
  732.  
  733.  
  734.   PRODUCT  :  Paradox for Windows, Paradox for DOS   NUMBER  :  1246
  735.   VERSION  :  All
  736.        OS  :  DOS,WIN
  737.      DATE  :  April 27, 1993                          PAGE  :  12/15
  738.  
  739.     TITLE  :  Paradox Table Formats and Network Locking Protocols
  740.  
  741.  
  742.  
  743.  
  744.   The locking protocol selection does not necessarily control the
  745.   file type created.  Check the application's documentation for file
  746.   type selections.
  747.  
  748.   ODAPI Applications
  749.  
  750.   DataBase Desktop and Paradox for Windows Locking and Tables (ODAPI)
  751.  
  752.   The Quattro Pro for Windows DataBase Desktop and Paradox for
  753.   Windows use a new component of the Borland Object Component
  754.   Architecture, the Object DataBase Application Programming
  755.   Interface, also known as ODAPI, or the Borland Interbase Local
  756.   Engine.  This protocol behaves the similarly to the Paradox Engine
  757.   3.0 running in Standard locking mode.  However, the DataBase
  758.   Desktop also requires the designation of "Working" and "Private"
  759.   directories like Paradox 4.0.
  760.  
  761.   Configuring ODAPI
  762.  
  763.   You can configure ODAPI using the ODAPI configuration program,
  764.   ODAPICFG.EXE.  You can set the location of the network control file
  765.   and whether ODAPI will share local tables with other programs using
  766.   the Paradox 4.0 locking protocol.  When specifying the location of
  767.   the network control file, a root directory cannot be used.  You
  768.   must specify some other directory in the format:
  769.  
  770.        C:\DATA\  with the trailing backslash.
  771.  
  772.   Local Settings
  773.  
  774.   The WIN.INI file holds the locations of the ODAPI.CFG file, the
  775.   DataBase Desktop "Working" directory, and the DataBase Desktop
  776.   "Private" directory.  You can use any text editor to change these
  777.   designations in the WIN.INI file.  The location of the ODAPI.CFG
  778.   file is CONFIGFILE=<full drive, path, and file name> or
  779.   CONFIGFILE01=<full drive, path, and file NAME> in the [ODAPI]
  780.   group.
  781.  
  782.   The locations of the DataBase Desktop "Working" and "Private"
  783.   directories are in the [DBD] group as WORKDIR=<full drive and
  784.   directory>, and PRIVDIR=<full drive and directory>.  The locations
  785.  
  786.  
  787.  
  788.  
  789.  
  790.  
  791.  
  792.  
  793.  
  794.  
  795.  
  796.  
  797.  
  798.  
  799.  
  800.   PRODUCT  :  Paradox for Windows, Paradox for DOS   NUMBER  :  1246
  801.   VERSION  :  All
  802.        OS  :  DOS,WIN
  803.      DATE  :  April 27, 1993                          PAGE  :  13/15
  804.  
  805.     TITLE  :  Paradox Table Formats and Network Locking Protocols
  806.  
  807.  
  808.  
  809.  
  810.   of the Paradox for Windows "Working" and "Private" directories are
  811.   in the [PDOXWIN] group as WORKDIR=<full drive and directory>, and
  812.   PRIVDIR=<full drive and directory>.
  813.  
  814.   Program Startup
  815.  
  816.   This section describes the specific startup or initialization
  817.   sequences for each type of program: Paradox, Paradox Runtime, and
  818.   Paradox Engine applications.
  819.  
  820.   Paradox Startup
  821.  
  822.   When Paradox starts, it attempts to access the network control file
  823.   specified in the PARADOX.SOM file.  If there is a PARADOX.NET file
  824.   available, Paradox will open the file.  If a PARADOX.NET file is
  825.   not found, Paradox will create a new PARADOX.NET file, place a
  826.   serial number in it and continue with the startup process.
  827.  
  828.   After opening the PARADOX.NET file, Paradox will check the file for
  829.   serial numbers that match its own.  If a matching serial number is
  830.   found, Paradox will check for available user counts.  If there is
  831.   an available user count, Paradox will increment the current number
  832.   of users, and continue with the startup process.  If no matching
  833.   serial numbers are found, Paradox will check for an available
  834.   serial number slot.  If an available serial number slot is found,
  835.   Paradox will place that serial number in the first free slot, and
  836.   increment both the number of current users and the maximum number
  837.   of users allowed.
  838.  
  839.   After Paradox successfully changes the user count, it places an
  840.   exclusive PARADOX.LCK file in a designated directory for temporary
  841.   files.  If it cannot place that exclusive PARADOX.LCK file, Paradox
  842.   will shut itself down.  After securing a directory for temporary
  843.   files, it places a shareable PARADOX.LCK file in a directory with
  844.   data files.  With the initialization complete, Paradox is now ready
  845.   to open its first table.
  846.  
  847.   Paradox Runtime Startup
  848.  
  849.   When Paradox Runtime starts, it attempts to access the network
  850.   control file specified in the PARADOX.SOM file.  If there is a
  851.   PARADOX.NET file available, Paradox Runtime will open the file.  If
  852.   a PARADOX.NET file is not found, Paradox Runtime will create a new
  853.  
  854.  
  855.  
  856.  
  857.  
  858.  
  859.  
  860.  
  861.  
  862.  
  863.  
  864.  
  865.  
  866.   PRODUCT  :  Paradox for Windows, Paradox for DOS   NUMBER  :  1246
  867.   VERSION  :  All
  868.        OS  :  DOS,WIN
  869.      DATE  :  April 27, 1993                          PAGE  :  14/15
  870.  
  871.     TITLE  :  Paradox Table Formats and Network Locking Protocols
  872.  
  873.  
  874.  
  875.  
  876.   PARADOX.NET file, place a serial number in it, and continue with
  877.   the startup process.  After opening the PARADOX.NET file, Paradox
  878.   Runtime will check the file for serial numbers that match its own.
  879.   If a matching serial number is found, Paradox Runtime will check
  880.   for available user counts.  If there is an available user count,
  881.   Paradox Runtime will increment the current number of users, and
  882.   continue with the startup process.  If no matching serial numbers
  883.   are found, Paradox Runtime will check for an available serial
  884.   number slot.  If an available serial number slot is found, Paradox
  885.   Runtime will place that serial number in the first free slot, and
  886.   increment both the number of current users and the maximum number
  887.   of users allowed.
  888.  
  889.   After Paradox Runtime successfully changes the user count, it
  890.   places an exclusive PARADOX.LCK file in a designated directory for
  891.   temporary files.  If it cannot place that exclusive PARADOX.LCK
  892.   file, Paradox Runtime will shut itself down.  After securing a
  893.   directory for temporary files, it places a shareable PARADOX.LCK
  894.   file in a directory with data files.  With the initialization
  895.   complete, Paradox Runtime is now ready to open its first table.
  896.  
  897.   Paradox Engine Startup
  898.  
  899.   The Paradox Engine handles the startup process differently than
  900.   Paradox.  A call is made to PXNetInit() specifying the location of
  901.   the Paradox network control file.  The Engine then attempts to
  902.   access the network control file specified by the call to
  903.   PXNetInit().  If the PDOXUSRS.NET file exists and there is an
  904.   available slot for an additional user, the Engine application
  905.   increments the number of current users and the number of user
  906.   counts available.  However, Windows Engine applications only
  907.   increment those counts once for all Windows Engine applications
  908.   running under the same session of Windows.
  909.  
  910.   When running a Paradox Engine Windows application, a call is made
  911.   to PXWinInit() which reads the location of the Paradox network
  912.   control file from the WIN.INI file.  The location of the
  913.   PDOXUSRS.NET file is written into the WIN.INI file using
  914.   PXENGCFG.EXE.
  915.  
  916.   While the Paradox Engine does not use the concept of "Private"
  917.   directory, with the new DIRLOCK locking state, it can exclusively
  918.   lock an entire directory.
  919.  
  920.  
  921.  
  922.  
  923.  
  924.  
  925.  
  926.  
  927.  
  928.  
  929.  
  930.  
  931.  
  932.   PRODUCT  :  Paradox for Windows, Paradox for DOS   NUMBER  :  1246
  933.   VERSION  :  All
  934.        OS  :  DOS,WIN
  935.      DATE  :  April 27, 1993                          PAGE  :  15/15
  936.  
  937.     TITLE  :  Paradox Table Formats and Network Locking Protocols
  938.  
  939.  
  940.  
  941.  
  942.   The Paradox Engine does not automatically place the directory
  943.   locking file.  You must make an explicit call to PXFileLock(), or
  944.   any of the table level Engine function calls that would
  945.   automatically place a lock on a file in order to test the
  946.   availability of files in that directory.  Any of these function
  947.   calls will automatically place a shareable PDOXUSRS.LCK and an
  948.   exclusive PARADOX.LCK file in that directory.
  949.  
  950.   Conclusion
  951.  
  952.   Since Paradox/Engine/ODAPI places a lock file in the directory
  953.   where the tables are, the first locking protocol to get to that
  954.   directory will own the directory.  If that locking protocol is
  955.   Paradox 2.0 compatible, then any version of Paradox from 2.0 to 3.5
  956.   or Paradox Engine 1.0 - 2.0 or Engine 3.0 in compatible locking
  957.   mode will have concurrent access to the directory and all files in
  958.   that directory.  If the first locking protocol to use that
  959.   directory is Paradox 4.0, then only Paradox 4.0, or any Engine 3.0
  960.   application using standard locking mode or ODAPI will have access
  961.   to the tables in that directory.
  962.  
  963.   ---------------------------------------------------------------
  964.   Footnotes:
  965.  
  966.   Quattro Pro 4.0, files dated 9/12/92 or later support both locking
  967.   protocols, and reads all table formats.
  968.  
  969.   Quattro Pro 4.0, files dated before 9/12/92 only support the
  970.   Paradox 2.0 locking protocol and Paradox 1.0 - 3.5 table formats.
  971.  
  972.   The locking protocol set in the Paradox Engine configuration
  973.   (PXENGCFG.EXE) will determine the version of the Paradox table that
  974.   Quattro Pro creates.
  975.  
  976.  
  977.   DISCLAIMER: You have the right to use this technical information
  978.   subject to the terms of the No-Nonsense License Statement that you
  979.   received with the Borland product to which this information
  980.   pertains.
  981.  
  982.  
  983.  
  984.  
  985.  
  986.  
  987.  
  988.  
  989.  
  990.  
  991.