Two types of sessions are used from a client application to Linkar SERVER: Persistent and Volatile.
Functions Type
Persistent Functions
Login/Logout are only required for Persistent sessions with multiple transactions.
Login is actually a "virtual" operation which creates a new Client Session ID. The DBMS is not called on Login. No DBMS login is performed unless Linkar SERVER determines new Database Sessions are required. These operations are not related.
•Login with a LinkarClient instance using a CredentialsOptions object (or string in C Libraries) to create and maintain a Client Session.
•Perform Persistent transactions using functions/methods on the LinkarClient instance.
•Logout when done with a Client Session. Again, no database operation is performed. This is only to close the Client Session.
Volatile Client Functions
Used for direct and independent communication with the database. Its arguments contain the necessary information to identify the user before returning the required information.
They are used for database access from public websites, for instance online shops.
Client Session
Linkar licencing is based on the concept of the Client Session. While a Login/Logout session is in progress, a Linkar license is consumed. For this reason it is extremely important to keep these connections as short as possible. Individual volatile transactions consume a Linkar license only for the time during which the transaction is in progress and activity is being performed with the database.
The purpose of Persistent functions, with the virtual Login/Logout, is to eliminate the performance penalty of authentication which is incurred when processing CredentialsOptions. This process is called once for Login and not for every transaction in that session. With Volatile transactions, authentication is performed with each operation. All REST API and Linkar Web Services transactions are Volatile.
Be sure to use try/catch/finally blocks to capture failed Login operations and to handle failed Volatile transactions. For Persistent transactions, wrap try/catch/finally around code that defines an entire session, to ensure LinkarClt.Logout is executed after Login. If Logout is not executed after Login, Client Sessions in the server will not be disposed, resulting in Linkar license consumption until an inactivity timeout on the session occurs. When this happens use Linkar MANAGER and the Client Session page to close disconnected sessions.
Conversion |
Synchronously or asynchronously returns the result of executing the ICONV() or OCONV() functions of an expressions list in the database
|
Delete |
Synchronously or asynchronously deletes one or several records of a file
|
Dictionaries |
Synchronously or asynchronously returns all the dictionaries of a file
|
Execute |
Synchronously or asynchronously allows the execution of any command in the database
|
Format |
Synchronously or asynchronously returns the result of executing the FMT function of an expressions list in the database
|
GetVersion |
Synchronously or asynchronously allows the Linkar Components Version and the EntryPoint parameters to be obtained
|
LkSchemas |
Synchronously or asynchronously returns a list of all the Schemas de-fined in Linkar Schemas or the EntryPoint account data files
|
LkProperties |
Synchronously or asynchronously returns the Schema properties list defined in Linkar Schemas
|
GetTable
|
Synchronously or asynchronously returns the query result in a relational table format |
Login |
Starts the communication with a server, allowing it to use of the rest of functions until the Close method is executed or the connection with the server gets lost, synchronously or asynchronously |
Logout |
Synchronously or asynchronously closes the communication with a server, which previously has been opened with a Login Function
|
New |
Synchronously or asynchronously creates one or several new file records
|
Read |
Synchronously or asynchronously reads one or several file records
|
ResetCommonBlocks |
Synchronously or asynchronously resets the COMMON variables with the 100 most used files
|
RunSubroutine |
Synchronously or asynchronously executes a subroutine
|
Select |
Synchronously or asynchronously executes a query in the database
|
SendCommand |
Synchronously or asynchronously allows different operations to be carried out, through a standard template in (XML and JSON).
|
Update |
Synchronously or asynchronously modifies one or several file records
|
UpdatePartial |
Synchronously or asynchronously modifies one or more attributes of one or more file records
|