Databese connection

The Effector system can connect to Microsoft SQL databases. All information necessary to access these databases are in the files describing the database connections. Since the system is able to handle more databases and to one database more XML package can be assigned, there can be more than one of these files. For instance, the one database - more packages setup is useful when we would like to use the system from different locations with different rights.

Database connections

Files used for the configuration of database connections are located in the DBConnections directory.

Database connections

The available databases can be parameterized in the configuration file of the database connections. The file must always bear the name Connections.xml. This file is also located in the DBConnections. Each row of it defines a file of an individual database connection. If only one exists, the framework selects it automatically and does not display the drop-down list for database selection on the interface. If more files are specified, the user has the option to choose from the databases when logging in.

Example:

<?xml version="1.0" encoding="ISO-8859-2"?>
<Connections xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="Connections.xsd">
    <ConnectionFile>ConnectionDB1.xml</ConnectionFile>
    <ConnectionFile>ConnectionDB2.xml</ConnectionFile>
</Connections>

Database connection descriptor

The names of the database descriptors (DBConnection) are located in ConnectionFile nodes in the Connections.xml file’s /Connections list element. These files contain the necessary data for a successful database connection and other system parameters pertaining to the given connection, like the directories of the configuration files.

Available features

  • Modifying SQL data access.
  • Modifying the connection’s data displayed on interface.
  • Setting the path to the configuration files in use.

Example:

<?xml version="1.0" encoding="ISO-8859-2"?>
<Connection xmlns="http://effector.hu/schema/ns/dbconnection">
        <Caption>Database connection</Caption>
          <IsEncrypted>false</IsEncrypted>
          <Server>sql</Server><!—server address (ip/dns)-->
          <Database>Effector</Database><!—name of database-->
          <User_ID>EffectorUser</User_ID><!—database username-->
          <Password>Password123</Password><!--password-->
          <Persist_Security_Info>false</Persist_Security_Info>
          <Integrated_Security>SSPI</Integrated_Security>
          <Trusted_Connection>false</Trusted_Connection>
          <ResourcePath>c:\XML\XML_Application\</ResourcePath><!--XML file -->
          <Profile>ProfileDefault</Profile><!--Profile xml name-->
          <Languages><!--languages-->
            <Language code="hu-HU">hungarian</Language>
            <Language code="en-US">english</Language>
          </Languages>

</Connection>

Specifying database connections

We can specify a database connection by defining the ConnectionFile\Connection node. In practice, its data content is the same as the data used for compiling an ’sQL connection string`. We have to specify the data concerning the database server in this node, and here we can activate some general and global functionality reaching across the entire database.

Nodes specifying the database connection directly:

  • Name: Name and ID of the database connection. It is mandatory.
  • Description: Description of the connection, informative textual information. If more than one database is available, this will be displayed in the selection list.
  • ’server`: The address or name of the database server. It is mandatory. When the system connects to a so-called named instance, the value must contain the name of that instance as well: (local)\SQLExpress.
  • Database: The name of the database can be specified in this node.
  • User_ID: The ID used to log in.
  • Password: The user password specified in the User_ID node.

Nodes influencing the security of the database:

  • Persist_Security_Info: It determines whether the properties associated with the identification will be obtainable from the connection object. Its value can be true or false, it defaults to false. For further information, please see the relevant chapters of the MS SQL database guide.
  • Integrated_Security: It determines whether SQL or Windows identification will be used during the connection. By default, it is ’sSPI`, which stands for SQL Server Password Identification, that is, it requires an SQL server username and password. For further information, please refer to the relevant chapters of the MS SQL database guide.
  • Trusted_Connection: It determines whether a trusted connection is needed when connecting to the database. Its value can be true or false. For further information, please see the relevant chapters of the MS SQL database guide.

Other nodes influencing the operation of the system:

  • Crypt: Its value can be true or false; with its help, we can define whether the server information is encrypted in a given file. In case of encryption, the nodes ’server,Database,User_IDandPassword` will have encrypted values.
  • TestOnly: Its value may be true or false. It is used to turn on the test environment warning to appear at log-in.
  • ThirdLoginField: Optional setting. If additional data is needed to log in, the description of the data should be added in this node, which then will show up as an input field at log-in. The value of the input field is forwarded by the framework in the @third parameter of the stored procedure performing the authentication. The input data can be used during authentication, the authentication logic should be developed in the osp_FSYS_GetUserPassword_online2 stored procedure. If the value of a node is not empty, the function is enabled.
  • ThirdLoginField (as of version 5.0.001 ): Optional setting. If additional data is needed to log in, the description of the data should be added in this node, which then will show up as an input field at log-in. The framework will forward the value of the input field to the LicenseHandlerServer.
  • DisableViews: : Its value can be true or false. When it is set to true, the buttons for saving the views remain hidden, so no views can be saved for the displays in the system. (In version 5.0.001, this setting is disregarded.)
  • IsObjectEditListEnabled: A simple flag whose values can be true or false. It determines whether the system records and shows who else is editing a particular object besides the user. This information shows up in form of a letter i in the header of the EditForms. To activate this functionality a few database scripts should be run during installation. More information on these scripts can be found in here: Installation process.
  • Languages\Language: This node contains the list of available languages. It is not mandatory; if not specified, then the hu-HU, that is, Hungarian will be the default language. For more information please refer to: Multilingualism.
  • IsDocumentVersionEnabled (5.0.001-től): Optional setting, available from version 5.0.001. It is used for enabling document version control. Its value can be true or false, the default value is true.

Managing configuration files

Here we can assign the particular databases to the XML packages needed for the operation of the system. It is not necessary that one XML package is used exclusively by one database connection. This means that if we have a test and a live database, we have the possibility of simply switching from the old XML package belonging to the live database to the newly tested one right after the testing is done.

The figure below shows the state after testing:

XML packages and database connection

We need to specify the following for the assignment:

  • ResourcePath: Contains the path to the XML package assigned to the given database. The XML configuration (files) are stored in this directory. A relative path can also be set, in which case the starting point will be the directory specified in the XmlPath setting of the Web.config file.
  • ResourceFile: It stores the name of the resource file assigned to the given database. It is used when the XML package is not stored directly in the file-system, but it is transferred in a .Net assembly. In such a case, the ResourcePath must be deleted because that has higher priority in the system. It is outdated, its use is no longer recommended.
  • DefaultProfile: The user’s default profile file can be set here. This file contains the application screen after log-in and may also define all other available screens and certain system functions. For more information please refer to Profile.

The complete connection diagram:

Complete connection diagram

  • Last update: 23 weeks 4 days ago
  • Effector