JDBC
The JDBC connector enables data synchronization between RAC/M Identity and relational databases using the JDBC driver.
The connector has been tested with SQL Server, Azure SQL, Oracle, MySQL.
Is this connector suitable for your implementation? Because here, it is a simple connection to a table without inner joins. If not, refer to the Scripted JDBC connector.
Configuration
| Configuration | Description | Example |
|---|---|---|
| Host | Address or domain name of the database server. | localhost |
| TCP Port | Port number to access the database server. | 1433 |
| User | Username for connecting to the server. | sa |
| User Password | Password for connecting to the server. | ******* |
| Database | Name of the database to connect to. | racm_demo_config |
| Table | Name of the table to connect to. | LOGIN |
| Key Column | Name of the column representing the primary key. | LOGIN_ID |
| Password Column | Name of the column containing user passwords. | password |
| JDBC Driver | Name of the Java class implementation for the JDBC driver. For example. | com.microsoft.sqlserver.jdbc.SQLServerDriver |
| JDBC Connection URL | The connection URL. | jdbc:sqlserver://127.0.0.1:1433;databaseName=racm_demo_config;encrypt=false |
Advanced Configuration
| Configuration | Description | Example |
|---|---|---|
| Name Quotes | Definition of the quotes used for entity names. | ", ` |
| Enable Writing Empty Strings | Option to allow or disallow writing empty strings into the database. | true or false |
| Re-throw All SQL Exceptions | Option to rethrow all captured SQL exceptions. | true or false |
| Native Timestamps | Use of native types for timestamps in the database. | true or false |
| All Native | Option to use only native types for all supported fields. | true or false |
| Validate Connection Query | SQL query used to validate a connection to the server. | SELECT 1 |
| Change Log Column (Sync) | Column used to track changes during a synchronization process. | |
| Data Source Path | JNDI path or other identifier to access the data source. | |
| Initial JNDI Properties | Specific properties to initialize the JNDI context. | |
| Suppress Password | Option to hide or mask passwords in logs or traces. | true or false |
| Where Clause | Custom WHERE clause to filter query results. | WHERE is_active = 1 |
| Page Size | Size of result pages when retrieving data | 1000 |
Note
For Azure SQL: The only available driver is com.microsoft.sqlserver.jdbc.SQLServerDriver.
encrypt=false: Excludes the certificate.encrypt=true: Includes the certificate. The SQL server certificate must be in the ICF truststore.
Certificate
A certificate might be required in SSL mode.
Adding
Add the certificate to the ICF truststore.
Restart
When making changes to the default truststore of the ICF, restarting the RAC/M service is mandatory.
Test
You can test the database table connector connector by pressing the TEST button.
Import
Account Mapping
- ICF Connector -> Source table
_ACCOUNT_-> Target table APPLICATION_ACCOUNT_IMPORT. - Table LOGIN
| Target Table Column | Source Table Column | Formatting (Constant) |
|---|---|---|
| ACCOUNT_NAME | _NAME_ | |
| EIN | GIA_ID | |
| EXT_APPLICATION_ID | RACM | |
| EXTRA1 | LANGUAGE | |
| FULL_NAME | FULL_NAME | |
| GUID | LOGIN_ID | |
| STATUS | Active |
Group Mapping
The groups do not have descriptions, so we will not load them for our example.
If we wish to do so, we need to configure another ICF connector on the ROLE_LOGIN table to create the RACM profiles.
Member Mapping
- ICF Connector -> Source table
_ROLE_MEMBERS_-> Target table_ACCOUNT_. - Table LOGIN
| RACM Column | Target System Attribute | Formatting (Constant) |
|---|---|---|
| ACCOUNT_NAME | _NAME_ | |
| EXT_PROFILE_ID | LOGIN_ROLE_ID | |
| GUID | LOGIN_ROLE_ID | |
| EXT_APPLICATION_ID | RACM |
