Storage

Supported Databases

PROLIN Power Server supports the following databases:

Database Supported Versions
Microsoft SQL Server 2008, 2012, 2014, 2016, 2017, 2019, 2022
Oracle 10g, 11g, 12c, 18c, 19c

You can configure your database using the Storage Configuration section in the Server Management Console.


Database Driver and Dialect

Using the Storage Settings page in the Configuration section of the Server Management Console, you can specify a Database Provider that matches your database.

Depending on the database type and version, PROLIN Power Server automatically configures a driver and a dialect, as shown below:

Database Version Driver Dialect
Microsoft SQL Server 2008 NHibernate.Driver.Sql2008ClientDriver NHibernate.Dialect.MsSql2008Dialect
2012 NHibernate.Dialect.MsSql2012Dialect
2014 NHibernate.Dialect.MsSql2012Dialect
2016 NHibernate.Dialect.MsSql2012Dialect
2017 NHibernate.Dialect.MsSql2012Dialect
2019 NHibernate.Dialect.MsSql2012Dialect
2022 NHibernate.Dialect.MsSql2012Dialect
Oracle 10g NHibernate.Driver.OracleManagedDataClientDriver NHibernate.Dialect.Oracle10gDialect
11g NHibernate.Dialect.Oracle10gDialect
12c NHibernate.Dialect.Oracle12cDialect
18c NHibernate.Dialect.Oracle12cDialect
19c NHibernate.Dialect.Oracle12cDialect

For most cases, the drivers and dialects above do not require any modification.
However, if you have a specific scenario that requires an alternate driver or dialect, you can make manual changes to the nhibernate.config file.

This file can be found in the config subfolder of the PROLIN Power Server installation and opened with a text editor.

Default Configuration

<?xml version="1.0" encoding="utf-8" ?>
<hibernate-configuration xmlns="urn:nhibernate-configuration-2.2">
  <session-factory name="Default">
    <property name="show_sql">false</property>
    <property name="cache.use_second_level_cache">true</property>
    <property name="cache.use_query_cache">true</property>
    <property name="query.substitutions">true 1, false 0, yes 'Y', no 'N'</property>
    <property name="current_session_context_class">thread_static</property>
  </session-factory>
</hibernate-configuration>

Example: Custom Driver and Dialect (Oracle 11g)

In this example, both the driver and dialect have been changed:

<?xml version="1.0" encoding="utf-8" ?>
<hibernate-configuration xmlns="urn:nhibernate-configuration-2.2">
  <session-factory name="Default">
    <property name="connection.driver_class">NHibernate.Driver.OracleDataClientDriver</property>
    <property name="dialect">MyDrivers.MyOracle10gDialect, MyDrivers</property>
    <property name="show_sql">false</property>
    <property name="cache.use_second_level_cache">true</property>
    <property name="cache.use_query_cache">true</property>
    <property name="query.substitutions">true 1, false 0, yes 'Y', no 'N'</property>
    <property name="current_session_context_class">thread_static</property>
  </session-factory>
</hibernate-configuration>

NoteNotes
  • The driver (connection.driver_class) is specified using the full type name.
    This works because the type exists in the NHibernate assembly, which is distributed with PROLIN Power Server.

  • The dialect, however, is specified with the assembly-qualified name, indicating that the type exists in a separate assembly.
    If you use a custom dialect, make sure to deploy your assembly into the PROLIN Power Server installation folder.

Back to top