Introduction

This software product offers technology of getting information by requests from different databases for users, not possessing knowledge of the SQL language.

The main particularity of the proposed decision is that the software product consists of two interconnected parts: CLIENT (DB Query program), which is installed with the end user, and REMOTE SERVER, installed with the owner of Database to which access is organized.

DB Query Client is a simple and not demanding to resource program (thin client), running on WIN9x/NT/XP, has a friendly interface and allows to make search request to Databases quite simply. Having formed the request, client sends it to the remote server, which processes request and returns result the to client.

The remote server The Remote server is installed on the host from which all necessary databases are available. It performs the authorized connection of clients, granting the individual rights of access to data, and processes the incoming requests from clients.

The client does not have direct contacts with data sources, it interacts only with user and remote server. Direct access to data is performed on remote server and is hidden from user. The interaction of client and server occurs through local or global network by TCP/IP protocol.

Presence of reliable possibilities of protection against unauthorized data access and facilities of central client management; possibility to organize the same access to different databases; simplicity of the use -all this makes this software product a good way of organizing the work of users with different databases.


Access schemes

The real picture of interrelations of database objects is often very complex even for managers of the information systems, to say nothing of ordinary users. However, users want easy to get information from database easily, not knowing particularities of their structure.

DB Query allows to solve this problem by means of access schemes. For a user, the scheme looks like an abstract object, with fields on which one assigns data select conditions. Using the scheme, the user does not see real database objects (tables), their relationships, their own databases, locations on servers ...etc. All this information is hidden from the user, it is kept on remote server and is created by administrator while scheme designing using administrators utility.

Interconnected tables from heterogeneous data sources (database servers, local tables) can be included in one scheme. The Schemes can be of two types - table and list schemes (depending on the manner of query result presentations).

Answer on table scheme always returns in the form of a table. Such schemes are used for data, which are better presented in the form of tables. Using table scheme it is possible to choose fields included into the table, to assign sorting conditions, to print the result - the whole table, or a separate record.

List schemes use for presentation of the information data structures, which are difficult to present in tabular manner. Using list scheme it is impossible to choose fields included in result, and the volume of output information in this case is limited. The list scheme query result returns in the form of hierarchical list:

Graphical data can be included in list schemes.


DB Query client

Thin DB Query CLIENT runs under WIN9x/NT/2000/XP. Installed program occupies approximately 5 mb disk space. Remote server must be accessible to the host where client is installed. It may be network or modem connection though internet. Interaction of the client and server occurs through TCP/IP protocol.

The program does not require special resources and wholly runnable on hardware with minimum requirements for OS WIN9x. For successful program functioning, a remote user must not neccessarily have a high speed modem, because in process of the functioning intensive network traffic is not generated (while testing, good results were received on speed 14400).

Client works in such a sequence:

There exists a possibility to view SQL text, which has been formed by remote server and to edit it for the following execution on remote server.

 


Prevention of unauthorized access to data

The software product contains developed features of data protection from unauthorized access. First of all it is the authorized connection to remote server. Each DB Query user has a name and a password, defined by administrator, which must be specified at connection. Remote server authorizes the user by name and password and gives access only to those information resources which are determined by administrator.

For prevention of the possible drain of the name/password, is used simple and efficient binding of concrete user to his computer. This means that with given name/password user can work only from one work place.

User binding is realized as follows: Having received a name and a password, the user begins to work and his computer is defined a counter of connections to remote server (is kept in system registry) which is strictly synchronized with the counter in the user's account on remote server. In case the same user attempts to connect from miscellaneous computers, the counters on client and server will inevitably be different and client will be refused the connection. Herewith, it is necessary to note that there is a possibility for different users to work from the same computer.

This binding mechanism imposes certain features when client must be moved from one workstation to another, or when OS must be reinstalled. In case of mismatching of client and server counters the reparing of the user's account into the efficient status is carried out by the remote server administrator.

To prevent the selection of the password by unauthorized persons (at a known login name) the remote server locks the user's account after the certain number of unsuccessful attempts of autorization, with the subsequent sending of a warning message on administrator's e-Mail about attempt of breaking the system.


DB Query remote server

The remote server is installed with the provider of information services and works under system WIN95/NT/2000/XP. For data access Borland DataBase Engine (BDE) of company Inprise is used, which is capable to give access practically to all data sources used nowadays.

Software of the remote server offers the administrator following opportunities:


Client installing

Client is installed on host, working under Win9x/NT/XP. The installed program occupies approximately 5MB disk space. The recommended video mode is not lower than 800*600*256 colours.

Run setup from directory with the distribution kit.

After client have been installed, open with any text editor file DQB.ini (is located in directory where client was installed), find line "HOSTS=..." and specify IP address or name of remote server. There can be several addresses (they should be specified through 1 blank). At connection, client will try to connect to all of these servers in turn, then the address, to which it was possible to connect will be stored as the first in the list.

Execute ping command to remote server host, (previously, if it is necessary connect to server host with modem). Be sure, that the server host is accessible to you.

Receive your name / password from the administrator

Launch DB Query client (dqb.exe)

On login request enter your name/password.


If you work under Win95, at connection you will probably receive the error message:
Winsock2 must been installed to use socket connection
The reason - Winsock2 library which is not included into Windows 95 distribution kit is not installed. In this case you must install this library separately.


Connection to remote server

Before you launch client it is necessary to be convinced of availability of the remote server host. If access is carried out through the modem, it is necessary to make modem connection.

Immediately after the program is started user needs to enter a login name and password received from the administrator.

If after the attempt of connection the message is given out:
Could not connect to any host: (list of IP addresses)


it means, that host of remote server is not accessible, or the software of remote server is not started.

If the message is given out:
User is refused in service from this work place

that it means, that the protection against the unauthorized access to data has worked. Client and server connection counters has been mismatched on one of the following reasons:

In this case reparing of the user account in a work status is carried out by administrator.


Choice of access scheme

Immediately after the connection to remote server the form with available schemes become active. The necessary scheme is selected by double clicking on form. Administrator can determine the individual list of the accessible schemes for each user. While working it is possible to change the current scheme from the main window of the program.


Main window


Entering select conditions

To enter a select condition it is necessary to click on any field in the table of fields of the main program window. If it is necessary to search on partial matching of field value, symbols of % _ are used. The symbol percent designates anyone (including empty) sequence of symbols, underlining - any symbol in the given position. (Syntax of "like" operator of SQL language is used). There are 4 types of query fields. Depending on field type appropriate input form is activated.

Condition input form for a simple field.


Condition input form for compound field. In order to input conditions easier, compound fields can be formed 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 the scheme you can define the compound field "Person" and include in it these fields.
Select conditions are entered in a single line on all fields delimited by space. If condition on any field is omitted, the % symbol on this place must be specified. using symbols "% _", it is possible to enter condition on partial matching of field value.


Condition input form for dictionary field. Dictionary fields - are fields int tables which keep codes instead of values. Each code matches one value. These fields are usually used to spare disk space and to accelerate search. Dictionary descriptions is located on remote server and are defined by administrator. While entering search condition on this field the user selects values from the dictionary table offered to him.


condition input form for two level dictionary field. Two level dictionary field is a compound field which consists of 2 dictionary fields. The first field contains a high level dictionary, and the second field - a low level dictionary which depends on current value of the high level dictionary. For instance in high level dictionary we may define goods types and in low level dictionary goods specifications will be described in detail.


SQL viewing

This form show SQL query which corresponds to current select conditions. Entering necessary changes into SQL text with its subsequent processing is enabled. For this at first edit query, then press button "Apply" and press button "Execute query" on the main form.


The answer form of table scheme

On this tab sheet all table records are shown

But on this sheet there is only the current record (Conveniently to view when table is wide)


The answer form of list scheme

In such form the answer on list scheme type "H" is given out


Client initialization file

This file has name dqb.ini and is located in directory where client was installed. File contains the tuning client parameters.

Parameter Default value Description
PORT 211 TCP/IP port through which there is an exchange with server
HOSTS   Addresses list of remote servers. Such addresses can be several (they should be specified through 1 blank!). At connection client will be tries to connect to all these servers under the order, then that address, to which it was possible to connect will be store in list by first.
LANGUAGE ENGLISH interface language
RE_FONT Courier New Font using in answer form of scheme type "R"
RE_FONT_SIZE 10 RE_FONT font size
USER   User name which last have been connected to server


Home