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>
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.