Introduction

Server tuning is made by tables.exe utility. This utility uses for schemes creation and user account administration.

Tuning parameters of remote server are located in paradox tables in separate directory on remote server host. This directory must be accessible through alias BDE "TABLES".


Schemes creation

Before scheme creation first of all it is necessary to mean what information and in what form it will be output to the user from database. If the answer to the request is supposed to be received as a table, then it is necessary to design table scheme, else the list scheme is meant of type "R" (returns answer in RTF format) or type "H" (return answer in HTML format).

Further is necessary to specify tables included into scheme and their relationships. If data source is located on database server then to obtain data from related tables it is better to use views. Then with the tables utility:


List scheme of type "R"

Answer by that scheme is returned in separate window. It is used to interpret the hierarchical list of related tables:

For instance, for this data model, result listing will be made in the following sequence:

For each record of table A - record A is printed

For each record of table A - related record B is printed
For each record of table A - related record C is printed
For each record of table C- related record D is printed

The record of table is printed in listing with right margin proportional to table level in hierarchical data model. Monospace fonts are used for output data (by default Courier). The type of font and it size may be specified in file dqb.ini (parameters RE_FONT and RE_FONT_SIZE)


List scheme of type "H"

Like scheme of type "R" It is used to present the hierarchical list of related tables but it works with some difference. To interpretate answer the Microsift Internet Explorer and active WEB server are used.

Having received request from client, server begins its processing and makes an answer in .html file on self host in directory defined by parameter D_HTM of initialization file server. After finishing processing, the name of answer file will be sent to client. Having got file name, and knowing the address of WEB server, client starts web browser and shows result in separate window. (The browser window is built in screen form).

In response listing of this scheme may be used any elements of html code, that considerably enriches design opportunities. Thus to create list scheme of type "H" it is necessary:


Table description

Before table is used in scheme design it is necessary to describe it. It is made on the tab Tables. All data about used tables are stored into two tables - Tables (contains common table description) and Table Fields (contains detail fields description).

"TABLE" columns
Tables table name
Description table description
BDE alias or directory If access to table is realized through BDE alias, then this field must contain the alias name. If table is a file in db or dbf format, then it is a directory where files resides;
File If previous field is a directory, then in this field must be specified a table file name with type (extension)


"TABLE FIELDS" columns:
N Number of a field under the order. (Must be filled necessarily, and must be unique for each field in table)
Field Field name (Must be filled necessarily)
Type Field Type. Supported types: A-alphanumerical, N-digital, D-date. For compound field must be blank.
Length Field length (specified only for alphanumerical fields)
Field description field description
Table desc Short column description to output in column headers of table schemes. If blank, then in column headers Field description will be output.
Dictionary Dictionary name for dictionary fields.
Parameter field Field name of high level dictionary in current table which defines the dictionary contents of current field. It is used to specify field of low level dictionary in two-levels dictionary.
Multi field Compound field description. Compound fields can be created for convenience to input search conditions from several logically interconnected simple fields.
For instance if in scheme there are fields "First Name" and "Last Name" (person data) and in query they often must be specified then designing scheme you can define compound field "Person" and include in it these fields. (See condition input form for compound field).
The field has the following format:
<Comma separated field list> | <field descriptions>

For instance compound field "PERSON" may be specified as follows:
FirsName,LastName|First person Name Last Name

For acceleration of filling table "Table fields" there is an opportunity of automatic filling columns N,Field,Type depending on existing table structure. For this at first it is necessary to fill fields in table "Tables" and then click button "Insert fields".

There is no necessity to include all fields of the table in "TABLE FIELDS" It is enough to include only those fields, which will be used at scheme design.


Scheme description

Scheme description is made on tab Schemes and consists of three tables:
Schems table - the table of common scheme data, Links table - relationships of tables, included in scheme, Included fields - list of fields from tables included in scheme.

" Schems table" columns
Scheme scheme name
Scheme description scheme description
Main table For table scheme this field must be empty. For list scheme in this field the name of main table from hierarchical list of related tables is placed.
Type (only for list scheme). The type of list scheme. May be "R" or "H". If "R" then scheme is designed to output data in format RTF. In this case graphics output is unavailable and opportunities of formatting are limited. If type is "H" then data output is performed by Internet Explorer (version not lower than 4). In output may be used any elements of HTML code.


"Links table" columns
Each table record describes interconnection of two tables.Link of tables is made on equivalence of the appropriate fields (max on 6 fields):
A1=B1 and A2=B2 and ... and A6=B6
Link description Link description of 2 tables. Links table is ordered by this field. In list scheme the order of output from the main object to subordinated, is depending on the order of the subordinated tables in Links table
Table A, Table B the names of two linking tables
A1...A6 the names of Table A fields which defines link
B1...B6 the names of Table B fields which defines link



"Included fields" columns:
Table contains the list of all fields of the scheme (fields from tables included in scheme).
N Number of a field under the order. (Must be filled necessarily, and must be unique for each field)
Description Field description (are shown in the fields table of the main program window)
Table Table name
Field Field name
Level if 7 then this field is not included in the fields table of the main program window
+ (only for table schemes) Mark of including the field in answer table. If "+" then by default the field is included in answer table (in table fields of main window this mark is shown)

For acceleration of table filling, on tab sheet Schemes the description of all tables and their fields from the tab sheet Tables is placed. To include any field it is necessary to move cursor to field and press button "Insert field" or "Add field". In that case fields Description,Table,Field are copied to table.


Additional scheme parameters

Additional parameters are located on tab Scheme options and consist of 2 tables - Default conditions and Sort Order. For convenience of work In the top part of the tab the table "Schemes" is repeated.

Table "Default conditions" contains additional search conditions every time added to conditions set by the user.
N Number of condition under the order. (Must be filled necessarily, and must be unique for each condition)
Table table name
Field field name
Operation logical operation to select record on current field (=,<>,>,<,>=,<=)
Value value

Table Sort order contains condition of sorting used by default for the table schemes.
Table table name
Sort order blank separated sort fields



Dictionary description

Dictionary descriptions is located on tab Dictionaries. The Dictionaries are realized as queries to tables.

Dictionary Dictionary name (must be unique in table)
Description описание словаря
BDE alias or directory Alias BDE through which access to the table of dictionary is provided, or directory with table files (.db,.dbf)
SQL The SQL query which defines a dictionary. For simple dictionary query must contain two fields (code and value). For low level dictionary (of two level dictionary) query must return 3 fields:
1 - code of low level dictionary;
2 - value
3 - code of high level dictionary.
Combination of fields 1,3 must be unique in answer table. Answer table must be ordered by fields 3,1.

For debugging SQL there is a button Execute SQL on tab, which processes the appropriate search and view answer table. If in SQL there is no phase Order by, there is an opportunity of editing contents of dictionary.


Users table

Users table is located on tab Users and contains all identification data of users:
USER user name
Description user description
Password password to connect to remote server
User code user code (should be unique within the table)
Group The group to which user belongs. For convenience of administration the users are organized in groups, for each group the set of available schemes is defined
COUNT User connection count. If field is empty, check on equality client and server counters is not carried out.
After user account have been created it is strongly recommended to set connection count to 0.
If mismatch of client and server counters occurs, at attempt of connection user receives the message:
User is refused in service from this work place
In this case administrator must clear the counter, having pressed the button "Clear count". To create new user account it is necessary to press button "Create user account".


Table template format in list scheme

For each table in list scheme is necessary to create a pattern file which defines format of output data. This is a usual text file, its name must be the same as table name, file extension .rep.
Pattern must be located in directory <SERVER>\REP\<SH_NAME>, Where <SERVER> - the directory where server is installed, SH_NAME - name of the scheme to which table pattern belongs.

Patthen file consists of sections. The section has a title and a body. Section title always begins with new line and has following format: #

<section name>. The section names are predefined and each kind of section has a certain function. If group of symbols after # is not recognized as the section name, that this line is interpreted as a comment. Generally section in file looks this way:

#
- section title
.........
......... - section body
.........
# - mark of the section end (May be a beginning of a new section)

 


Such kinds of sections are available:
#TITLE The body of this section will be printed in listing as heading before output detailed information on table record. If title is not necessary, this section may be omitted
#FIELDS

Contains the descriptions of fields, which will be used further in section #DETAIL to print record data. Each line defines one field of table and has a follow format:

=F:[/VAR]
where - field alias which will be used to reference this field , this name will be used in section #DETAIL;
- field name in table.
Parameter /VAR (may be passed) sets auto selection of width of printed field for each record. If this parameter is omitted, then the minimal width column to print field is determined by all current set of printing records.

#DETAIL Specifies output format for each record in table. The section body may be of several lines. Each line contains references to field aliases in [ ]. Section body is printed for each record, fields references are changed to field values. If being printed line contains field references and all these fields are empty, then this line will not be printed.
#BAND Contains lines printed after DETAIL section.
#TITLE_H General title of the whole listing
#BAND_H General band of the whole listing

 


Making an available schemes list

For convenience of granting access rights to schemes all Db Query users are organized into groups. Group belonging is specified at user account creation. One user may belongs to several groups and one group may contain several users. The list of accessible schemes is specified for group in text file with name <group name>.ush

This file must be located in directory where server is installed. File is organised in hierarchical list manner. Each line is a tree node. The Node level is defined by number of right margin spaces. The intermediate nodes is used for convenience of organization of schemes list in the form of hierarchical tree. Sheets of the tree are references to schemes and they are described in the following format:

<scheme description>|<scheme name>

where scheme description is any text which is shown in window of schemes selection of client.


Server initialization file

This is a usual text ini file which cointains common server tuning parameters. File has name qqsrv.ini and is located in directory where server have been installed.

[PSW] section
contains logins and passwords to access to Database Servers. Format of line:
=login/password
where - alias BDE, throug which access to Database Server is provided, login/password - user name and password to access to Database Server.

[DATA] section
contains parameters:

D_HTM - defines directory where html files will be created (for schemes of type "H").
Default value <server>\h where <server> - directory where server have been installed.

A_HTM - defines the name of virtual directory of WEB server (alias) where html pages will be created (for schemes of type "H"). WEB server must map this alias to the directory set by parameter D_HTM. Default value is DQBH

CLR_HTM - flag of clearing directory D_HTM. Allowable values YES | NO. If YES, then all html files which have been created by queries will be deleted when client session is finished.


[LOG] section
Defines processing server logging journal. Server logging journal is a table which name is "LOG".

LOG_STATUS - defines presence of logging process. If 1 - logging is performed, 0 - logging is not performed.
LOG_ALIAS - defines alias BDE through which access to LOG table is performed.

[WWW] section
Defines the addresses of web servers to which request from client to get html answer page sends. Format os section lines:
<remote server address>=<www server address>
where <remote server address> - IP address or host name of remote server;
<www server address> - WWW server IP address or name. By default it means that these addresses are equal - WWW server functions on remote server host.


Installing Db Query remote server

Db Query remote server must be installed under Win98/ME/NT/2000/XP system. On server host protocol TCP/IP must be installed. Installed program occupied on disk at about 6 Mb space. For testing, in addition, is recommended temporary to install Db Query client, and to test client-server system on test examples, included in distribute kit. Installing and testing server is recommended to be done in following sequence:

  1. Launch setup from directory with the server distribution kit and follow instructions of installation

  2. After installation - if it is supposed to use the list schemes of type "H", it is necessary correctly to tune your web server. For it - create virtual directory (alias) with name DQBH and map it to directory <install_server_dir>\H. Where <install_server_dir> - directory where server have been installed.
    (see parameters D_HTM,A_HTM) of server's initialization file.

  3. Install Db Query client. After client installation is necessary to open by text editor file dqb.ini (is in the directory, where client have been installed) and to specify the host address HOSTS=127.0.0.1

  4. Lunch Borland Socket Server scktsrvr.exe. For connection to server this service should be constantly active on a server host.

  5. Lunch server qqsrv.exe

  6. Lunch client dqb.exe Connect to server with login name Admin (password must be empty). If the connection is successful, choose any scheme and test it.

  7. Exit client.

  8. Exit server.

  9. Lunch client. Connect to server. The server Db Query should be started (at the first manual server starting, in item 5, it is registered and in the further it starting will be processed by service scktsrvr at client connection);

  10. Exit client. Server should be exited too.

  11. If server is have been installed on WinNT/2000/XP, that to start scktsrvr as service at system boot it is necessary to registrate it: sktsrvr -install (to undo registration execute command: sktsrvr -uninstall). If the server have been installed on a host with Win98, it is necessary to provide starting sktsrvr.exe after system boot.


Home