--- title: "JDBC Drivers" slug: "jdbc-drivers" description: "This is a list of the different Java Database Connectivity (JDBC) Drivers supported by RapidIdentity Connect and how to call them." tags: ["RapidIdentity ", "Connect", "Adapter", "Actions", "Drivers", "Java Database Connectivity", "JDBC"] updated: 2022-08-11T15:46:20Z published: 2022-08-11T15:46:20Z canonical: "help.rapididentity.com/jdbc-drivers" --- > ## Documentation Index > Fetch the complete documentation index at: https://help.rapididentity.com/llms.txt > Use this file to discover all available pages before exploring further. # JDBC Drivers ## JDBC Drivers ### DB2 (AS/400) Driver: jt400.jar Supports: DB2/400 (tested on v6r1) jdbcDriverClass: com.ibm.as400.access.AS400JDBCDriver jdbcURL: jdbc:as400://[server]/[library] Hibernate does support DB2/400, but the dialect is not automatically detected; so a hibernate dialect must be specified and must be passed into the openDatabaseConnection action as an extra parameter. **org.hibernate.dialect.DB2400Dialect** will work perfectly. ### DB2 (Universal) Driver: db2jcc4.jar Supports: DB2 (tested on DB2/LINUXX8664 - SQL09077) ```actionscript jdbcDriverClass: com.ibm.db2.jcc.DB2Driver jdbcURL: jdbc:db2://[server]: [port]/NCANCV:retrieveMessagesFromServerOnGetMessage=true; currentSchema=[database];currentFunctionPath="[database]"; ``` ### Filemaker Driver: fmjdbc.jar Supports: Filemaker 11 ```actionscript jdbcDriverClass: com.filemaker.jdbc.Driver jdbcURL: jdbc:filemaker://[server]/[database] ``` Hibernate does **NOT** support Filemaker, so a hibernate dialect must be selected that is similar, and must be passed into the openDatabaseConnection action as an extra parameter. **org.hibernate.dialect.ProgressDialect** has successfully worked to **READ** from a Filemaker Pro 11 database. ### Informix Driver: multiple .jar files in lib.zip ```actionscript jdbcDriverClass: com.informix.jdbc.IfxDriver jdbcURL: jdbc:informix-sqli://[host]:[port]/DB_name:informixserver=server_name ``` ### MS SQL (Sun JTDS recommended) Driver: sqljdbc4.jar Supports: MS SQL Server 2000, 2005 & 2008 ```actionscript jdbcDriverClass: com.microsoft.sqlserver.jdbc.SQLServerDriver jdbcURL: jdbc:sqlserver://[host]:[port];databaseName=[db] ``` [Additional MS SQL Help.](https://www.mssqltips.com/sqlservertip/1946/overviewofthesqlserverbrowserservice/) When Connecting to a MS SQL 2012 Server, use Sun JTDS. For a Normal Session: ```actionscript jdbc:jtds:sqlserver://"+Global.dbHostStudent+":"+Global.dbPort+"/ ;domain="+Global.dbHostDomain. ``` For a Session with an instance, use: ```actionscript jdbc:jtds:://[:][/]; instance=. ``` ### MySQL driver: Included in RapidIdentity Connect ```actionscript jdbcDriverClass: org.mariadb.jdbc.Driver jdbcURL: jdbc:mysql://[host]:[port]/[database] Advanced Options ``` ### Amazon Aurora DB Cluster and RapidIdentity 2018.6.19 Beginning with RapidIdentity 2018.6.19, when using the Amazon Aurora DB Cluster with either MySQL or PostgreSQL, use the [Cluster endpoint](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.Connecting.html) directly instead of indirectly with a DNS CNAME record. ### Oracle Driver: ojdbc6.jar Supports: Oracle 10g and 11g up to 11.2.0.2.0 ```actionscript jdbcDriverClass: oracle.jdbc.OracleDriver jdbcURL: jdbc:oracle:thin:@[host]:[port]:[sid] ``` ### PostgreSQL Driver: Included in RapidIdentity Connect Supports: postgreSQL ```actionscript jdbcDriverClass: org.postgresql.Driver jdbcURL: jdbc:postgresql://[host]:[port]/[db]?stringtype=unspecified ``` postgreSQL connections can occasionally take a long time to process. To speed up the connection, metadata can be added in the corresponding Action Set as follows. ```actionscript hibernate = createRecord() setRecordFieldValue(hibernate, "hibernate.dialect", "org.hibernate.dialect.PostgreSQLDialect") setRecordFieldValue(hibernate, "hibernate.temp.use_jdbc_metadata_defaults", "false") ``` ### Progress/OpenEdge (Skyward) Driver: openedge.jar, util.jar, base.jar (ALL REQUIRED) Supports: Progress/OpenEdge ```actionscript jdbcDriverClass: com.ddtek.jdbc.openedge.OpenEdgeDriver jdbcURL: jdbc:datadirect:openedge://[host]:[port];databaseName=[db] ``` The current driver supports JDBC logging. An acceptable Action Set is shown: ```actionscript hibernate = createRecord() setRecordFieldValue(hibernate, "hibernate.dialect", "org.hibernate.dialect.ProgressDialect") SkywardSession = openDatabaseConnection( "com.ddtek.jdbc.openedge.OpenEdgeDriver", "jdbc:datadirect:openedge://IP:PORT;databaseName=SKYWARD; SpyAttributes=(log=(file)/var/opt/idauto/dss/files/SkywardLogs/jdbc.log; logTName=yes;timestamp=yes;)", "USERNAME",, hibernate) ``` ### Progress SSL Connection Connecting to a Progress DB (example SKYWARD) via SSL, requires a modification to the connection string (encryptionMethod=SSL): ```actionscript jdbc:datadirect:openedge:// :;databaseName= SKYWARD;encryptionMethod=SSL ``` ### SQLite Driver: Included in RapidIdentity Connect Supports: SQLite3 formatted database files ```actionscript jdbcDriverClass: org.sqlite.JDBC jdbcURL: jdbc:sqlite: Hibernate Dialect: com.enigmabridge.hibernate.dialect.SQLiteDialect ``` SQLite is an embedded database that can be used only for a database file accessible via the RapidIdentity appliance native filesystem and writeable by the tomcat user. In the context of RapidIdentity Connect, it is primarily useful only for storing locally managed states, as opposed to being used for integration with an external system. It is not recommended for a cluster with multiple RapidIdentity Connect instances. ```actionscript sqliteSession = openDatabaseConnection("org.sqlite.JDBC", "jdbc:sqlite:/var/opt/idauto/dss/files/my.db",null,null, {"hibernate.dialect": "com.enigmabridge.hibernate.dialect.SQLiteDialect"}) results = updateDatabaseSQL(sqliteSession, "DROP TABLE IF EXISTS contacts;") results = updateDatabaseSQL(sqliteSession, "CREATE TABLE contacts (\n contact_id integer PRIMARY KEY,\n first_name text NOT NULL, \n last_name text NOT NULL,\n email text NOT NULL UNIQUE,\n phone text NOT NULL UNIQUE\n);") close(sqliteSession) ``` ### Sybase SQL Anywhere Driver: jconn4.jar Supports: Sybase SQL Anywhere ```actionscript jdbcDriverClass: com.sybase.jbdc4.jdbc.sybDriver jdbcURL:jdbc:sybase:Tds:[host]:[port]?ServiceName=[databasename] Hibernate Dialect: org.hibernate.dialect.SybaseAnywhereDialect ``` ### Sun JTDS Driver: Included in RapidIdentity Connect Supports: Microsoft SQL Server (6.5, 7, 2000, 2005 and 2008) and Sybase (10, 11, 12, 15) ```actionscript jdbcDriverClass: net.sourceforge.jtds.jdbc.Driver jdbcURL: jdbc:jtds:sqlserver://[host]:[port]/[databasename] ``` Additionally, to connect to Microsoft SQLServer, using Windows / NTLM authentication, rather than native SQL authentication, you must append the following to the end of the JDBC URL: ```actionscript ;useNTLMv2=true;domain=; ``` If the database you are accessing is a NAMED INSTANCE rather than the default database, the PORT will most likely be dynamic. The SQL Server Browser service on the database server should take care of establishing the conversation, but you will need to discard the default port of 1433. For example, to connect with a domain account to a named instance, it would look like this: ```actionscript jdbc:jtds:sqlserver:///;instance=; domain= ``` ### UniData/UniVerse (IBM/Unix) Driver: [unijdbc.jar](https://softwarebundles.s3.amazonaws.com/JDBC+Drivers/unijdbc.jar) and [asjava.jar](https://softwarebundles.s3.amazonaws.com/JDBC+Drivers/asjava.jar) are **both** required. Supports: UniData and UniVerse (tested on UniData 8.1.2) ```actionscript jdbcDriverClass: com.rs.u2.jdbc.UniJDBCDriver jdbcURL: jdbc:rs-u2://host[:port-num]/[account];dbmstype=UNIDATA ``` Hibernate does support UniData, but the dialect is not automatically detected; so a hibernate dialect must be specified and passed into the openDatabaseConnection action as an extra parameter. It will work perfectly. ```actionscript hibernate = createRecord() setRecordFieldValue(hibernate, "hibernate.dialect", "org.hibernate.dialect.DB2Dialect") ``` ### External Documentation [Rocket API and JDBC Developer's Guide](https://docs.rocketsoftware.com/nxt/gateway.dll/RKBnew20/u2%20clients%20and%20apis/previous%20versions/sep2015/u2clients_jdbcdriveruserguide_vsep15.pdf?f=templates&fn=default.htm&vid=Publish:10.1048/Enu) ### JDBC Driver Downloads - [jconn4.jar.zip](https://osdn.net/projects/sfnet_id2d/downloads/jdbc%20drivers/jconn4.jar/) - [db2jcc4.zip](http://www01.ibm.com/support/docview.wss?uid=swg21363866) - [jt400.zip](https://jardownload.com/artifactsearch/jt400) - [fmjdbc.zip](https://docs.microsoft.com/enus/sql/connect/jdbc/downloadmicrosoftjdbcdriverforsqlserver?view=sqlserver2017) - [lib.zip](https://libzip.org/download/) - [mysql-connector-java-5.1.19-bin.zip](https://dev.mysql.com/downloads/connector/j/5.1.html) - [openedge.zip](https://secure.progress.com/profile/opn/esdLoginRqrd) - [sqljdbc4.jar.zip](http://www.java2s.com/Code/Jar/s/Downloadsqljdbc420jar.htm) - [ojdbc6.jar.zip](http://www.java2s.com/Code/Jar/o/Downloadojdbc6jar.htm) - [SQLite 3.8.11.2](http://central.maven.org/maven2/org/xerial/sqlitejdbc/3.8.11.2/sqlitejdbc3.8.11.2.jar) [Additional driver reference.](http://www.sqlworkbench.net/manual/jdbcsetup.html) ### Specifying a Hibernate Dialect To capitalize on the RapidIdentity Connect database adapter, it may be necessary to specify a [dialect](https://www.roseindia.net/hibernate/hibernate4/hibernate4databases.shtml) to make the connection even if the correct JDBC driver is used. Dialects can be integrated as a record field value. ```actionscript sessionDB = openDatabaseConnection("com.filemaker.jdbc.Driver", Global.FilemakerStaffDB, Global.FilemakerDBUser,, {"hibernate.dialect": "org.hibernate.dialect.ProgressDialect"}) ``` ### Secure Database Connection with SSL A secure database connection can be attempted by modifying the connection string by adding **?** ```actionscript ssl=true&sslfactory=org.postgresql.ssl.NonValidatingFactory. ``` Complete example: ```actionscript jdbc:postgresql://"+Global.dbHostFocus+":"+Global.dbPortFocus+"/"+Global.dbNameFocus+"?ssl=true&sslfactory=org.postgresql.ssl.NonValidatingFactory ``` ### Attachments: [asjava.jar](https://questions2us.tk/?q=Asjava.jar+download) (application/java-archive) [db2jcc4.zip](http://www01.ibm.com/support/docview.wss?uid=swg21363866) (application/zip) [fmjdbc.zip](https://support.filemaker.com/s/article/InstallingFileMakerJDBCclientdrivers1503693055862?language=en_US) (application/zip) [jconn4.jar.zip](https://osdn.net/projects/sfnet_id2d/downloads/jdbc%20drivers/jconn4.jar/) (application/zip) [jt400.zip](http://jt400.sourceforge.net/) (application/zip) [jtds-1.2.5-dist.zip](https://sourceforge.net/projects/jtds/files/jtds/1.2.5/) (application/zip) [lib.zip](https://libzip.org/download/) (application/zip) [mysql-connector-java-5.1.19-bin.zip](http://www.java2s.com/Code/Jar/m/Downloadmysqlconnectorjava5119jar.htm) (application/zip) [ojdbc6.jar.zip](http://www.java2s.com/Code/Jar/o/Downloadojdbc6jar.htm) (application/zip) [openedge.zip](https://www.progress.com/download?interface=odbc&ds=openedge&os=win64) (application/zip) [SkywardJDBCJarFiles.zip](https://support.skyward.com/DeptDocs/Corporate/IT%20Services/Public%20Website/Technical%20Information/PaCInstallDocs/Skyward%20ODBC%20Launch%20Kit.pdf) (application/zip) [sqljdbc4.jar.zip](http://www.java2s.com/Code/Jar/s/Downloadsqljdbc420jar.htm) (application/zip) [unijdbc.jar](https://javalibs.com/artifact/com.ibm/unijdbc) (application/java-archive)