A JDBC connector acts as a bridge across SQL semantic and data type differences between the Data Virtuality Server and a target RDBMS. The Data Virtuality Server has a range of specific connectors that target the most popular open-source and proprietary databases.
On this page, we give general information which is common for all JDBC connectors, and in the subpages, you will find detailed information for each connector.
Connector Configuration
To configure a connection, use the SYSADMIN.createConnection()
procedure and specify all required connector properties in the call:
CALL SYSADMIN.createConnection(
'somedb'
,
'<type name>'
,
'db=somedb,user-name=user,password=pwd'
);
CALL SYSADMIN.createDatasource(
'somedb'
,
'<type name>'
,
null
,
null
);
Connection, translator, and data source properties for each connector are given in the relevant subpage. Please note that all properties are case-sensitive.
Translator Properties
Translator Properties Shared by All JDBC Connectors
(Properties listed in alphabetical order)
To view the full table, click the expand button in its top right corner
Name | Description | Default value |
---|---|---|
| Sets a template to convert Examples comparisonStringConversion=%s -- no conversion will be applied comparisonStringConversion= binary %s -- WHERE binary someStringExpression LIKE someOtherStringExpression comparisonStringConversion=(%s COLLATE Latin1_General_CS_AS) -- WHERE (someStringExpression COLLATE Latin1_General_CS_AS LIKE someOtherStringExpression) |
|
| Database time zone, used when fetching date, time, or timestamp values | System default time zone |
| Specific database version, used to fine-tune pushdown support | Automatically detected by the server through the data source JDBC driver, if possible |
| Only considered when |
|
| If |
|
| Maximum size of prepared insert batch |
|
| Sets a template to convert Examples OrderByStringConversion=%s -- no conversion will be applied OrderByStringConversion=( binary %s) -- ORDER BY (binary someStringExpression) OrderByStringConversion= cast ((%s) as varchar (2000) ccsid 1208) -- ORDER BY cast((someStringExpression) as varchar(2000) ccsid 1208) |
|
| If |
|
| Forces a translator to issue a Example SELECT x.* FROM table ( CALL "dwh.native" ( "request" => 'SELECT query, pid, elapsed, substring FROM svl_qlog ORDER BY STARTTIME DESC LIMIT 200' ) ) w , ARRAYTABLE( w.tuple COLUMNS query string, pid integer , elapsed string, "substring" string ) x; |
|
| If If |
|
| If If |
|
| If |
|
| if |
|
| Embeds a / comment / leading comment with session/request id in the source SQL query for informational purposes |
|
The names of the translator properties are case-sensitive.
Data Source Properties
Data Source Properties Shared by All JDBC Connectors
(Properties listed in alphabetical order)
To view the full table, click the expand button in its top right corner
Name | Description | Default |
---|---|---|
| Replaces |
|
| Database catalogs to use. Can be used if the Only for Microsoft SQL Server and Snowflake:
| Exasol: EXA_DB All others: empty |
|
Please note that writing into a data source is only possible if this parameter is set. | Empty |
| Turns on metadata cache for a single data source even when the global option is turned off. Together with |
|
| Case-insensitive regular expression that will exclude a matching fully qualified procedure name from import | Empty |
| Comma-separated list of schemas (no | Oracle: APEX_PUBLIC_USER, DIP, FLOWS_040100, FLOWS_020100, FLOWS_FILES, MDDATA, ORACLE_OCM, SPATIAL_CSW_ADMIN_USR, SPATIAL_WFS_ADMIN_USR, XS$ NULL , BI, HR, OE, PM, IX, SH, SYS, SYSTEM, MDSYS, CTXSYS All others: empty |
| Case-insensitive regular expression that will exclude a matching fully qualified table name from import. Does not speed up metadata loading. Here are some examples: 1. Excluding all tables in the (source) schemas importer.excludeTables=(.*[.]sys[.].*|.*[.]INFORMATION_SCHEMA[.].*) 2. Excluding all tables except the ones starting with "public.br" and "public.mk" using a negative lookahead: importer.excludeTables=(?! public \.(br|mk)).* 3. Excluding "tablename11" from the list ["tablename1", "tablename11", "company", "companies"]: importer.excludeTables=.*\.(?!\btablename1\b|\bcompan).*
| Empty |
| Fetch size assigned to a resultset on loading metadata | No default value |
| If set to |
|
| If set to |
|
| If set to |
|
| If set to Please note that it is currently not possible to import procedures which use the same name for more than one parameter (e.g. same name for |
|
| Set to |
|
| If set to |
|
| If set to |
|
| Procedure(s) to import. If omitted, all procedures will be imported. | Empty |
| If set to |
|
| If set to |
|
| If set to |
|
| If set to |
|
| Schema(s) to import. If omitted or has "" value, all schemas will be imported. | Empty |
| If set to |
|
| Table(s) to import. If omitted, all tables will be imported. | Empty |
| Comma-separated list (without spaces) of table types to import. Available types depend on the DBMS. Usual format: Other typical types are | Empty |
| If set to | |
| If set to Please note that this may lead to objects with duplicate names when importing from multiple schemas, which results in an exception |
|
| If set to |
|
| If set to |
|
Escaping wildcards in importer.catalog
available since v4.0.8
Default values
and importer.catalog='EXA_DB'
importer.useCatalogName=FALSE
available since v4.4
importer.loadSourceSystemFunctions
is available since v4.6
set to importer.importProcedures
TRUE
by default for CData connector since v4.7
Data Source Properties Specific for Some Connectors
(Properties listed in alphabetical order)
To view the full table, click the expand button in its top right corner
Name | Description | Default | Connector |
---|---|---|---|
| Set to |
| Oracle Database |
| Set to |
| Oracle Database |
| For Hive 0.11.0 and later, metadata for the |
| Hive |
| For Hive 0.13.0 and later, the normal JDBC DatabaseMetaData facilities are sufficient to perform an import. Set to |
| Hive |
Escaping Special Characters in Schema Names
Characters that are forbidden for Oracle schema names and can't be escaped: ", /, &, {, }.
All other special characters can be used as they are or should be escaped depending on the type of data source:
" | forbidden | \" | \" | \" |
\ | \\\\ | \\\\\\ | \\\\\\ | \\\\\\ |
_ | /_ | \\\\_ | \\\\_ | \\\\_ |
, | \\, | \\, | \\, | \\, |
% | /% | \\\\% | \\\\% | \\\\% |
[ | [ | [ | [[] | [ |
' | '' | '' | '' | '''' |
Usage
With the Data Virtuality Server SQL, the source can be queried as if the tables and procedures were local to the Data Virtuality Server system.