Connecting to Various Database Platforms

An R 'DataBase Interface' ('DBI') compatible interface to various database platforms ('PostgreSQL', 'Oracle', 'Microsoft SQL Server', 'Amazon Redshift', 'Microsoft Parallel Database Warehouse', 'IBM Netezza', 'Apache Impala', and 'Google BigQuery'). Also includes support for fetching data as 'ffdf' objects. Uses 'Java Database Connectivity' ('JDBC') to connect to databases.


CRAN_Status_Badge CRAN_Status_Badge


This R package provides function for connecting to various DBMSs.


  • Create connections to the various database platforms:
    • MicrosoftSQL Server
    • Oracle
    • PostgresSql
    • Microsoft Parallel Data Warehouse (a.k.a. Analytics Platform System)
    • Amazon Redshift
    • Apache Impala
    • Google BigQuery
    • IBM Netezza
  • Statements for executing queries with
    • Error reporting to file
    • Progress reporting
    • Multiple statements per query
  • Support for fetching data to ffdf objects
  • Insert data frame to a database table
  • Supports the DBI interface
  • Integrates with RStudio's Connections tab


connectionDetails <- createConnectionDetails(dbms="mysql", 
conn <- connect(connectionDetails)
querySql(conn,"SELECT COUNT(*) FROM person")
insertTable(connection = connection, 
            tableName = "scratch.somedata", 
            data = data, 
            dropTableIfExists = TRUE, 
            createTable = TRUE, 
            tempTable = FALSE, 
            useMppBulkLoad = FALSE)
## bulk data insert with Redshift or PDW
insertTable(connection = connection, 
            tableName = "scratch.somedata", 
            data = data, 
            dropTableIfExists = TRUE, 
            createTable = TRUE, 
            tempTable = FALSE, 
            useMppBulkLoad = TRUE)


DatabaseConnector is an R package using Java's JDBC drivers.

System Requirements

Requires R. Also requires Java 1.6 or higher (Oracle Java is recommended. Issues have been reported when using GCJ.)


Please note that this package requires Java to be installed. If you don't have Java already intalled on your computed (on most computers it already is installed), go to to get the latest version.

To be able to use Windows authentication for SQL Server, you have to install the JDBC driver. Download the .exe from Microsoft and run it, thereby extracting its contents to a folder. In the extracted folder you will find the file sqljdbc_4.0/enu/auth/x64/sqljdbc_auth.dll (64-bits) or sqljdbc_4.0/enu/auth/x86/sqljdbc_auth.dll (32-bits), which needs to be moved to location on the system path, for example to c:/windows/system32.

DatabaseConnector also depends on the OHDSI DatabaseConnectorJars and SqlRender packages.

For Redshift Bulk Mpp inserts, the cloudyR aws S3 pacakge is required.

Getting Started

To install the latest stable version, install from CRAN:


To install the latest development version, install from GitHub:


Getting Involved


DatabaseConnector is licensed under Apache License 2.0. The JDBC drivers fall under their own respective licenses.


DatabaseConnector is being developed in R Studio.

Development status

Build Status

Stable. The code is actively being used in several projects.


  • This project is supported in part through the National Science Foundation grant IIS 1251151.


DatabaseConnector v2.2.0 (Release date: 2018-10-01)


  1. Checking number of inserted rows after bulk upload, throwing error if not correct
  2. Added convenience function for cross-platform zipping of files and folders .

DatabaseConnector v2.1.4 (Release date: 2018-08-16)


  1. Faster inserts by building batches in Java instead of R

DatabaseConnector v2.1.3 (Release date: 2018-06-28)


  1. Updated to DBI specification 1.0
  2. Defaulting connect arguments to NULL to prevent missing argument warnings in RStudio


  1. Now generating unique display names for RStudio's Connections tab to prevent problems when opening two connections to the same server.

DatabaseConnector v2.1.2 (Release date: 2018-05-22)

Changes: initial submission to CRAN

Reference manual

It appears you don't have a PDF plugin for this browser. You can click here to download the reference manual.


2.2.1 by Martijn Schuemie, 3 months ago,

Report a bug at

Browse source code at

Authors: Martijn Schuemie [aut, cre] , Marc Suchard [aut] , Observational Health Data Science and Informatics [cph] , Microsoft Inc. [cph] (SQL Server JDBC driver) , PostgreSQL Global Development Group [cph] (PostgreSQL JDBC driver) , Starschema Ltd. [cph] (BigQuery JDBC driver) , Oracle Inc. [cph] (Oracle JDBC driver) , Amazon Inc. [cph] (RedShift JDBC driver)

Documentation:   PDF Manual  

Apache License license

Imports DatabaseConnectorJars, rJava, bit, ff, ffbase, SqlRender, methods, utils, DBI, urltools

Suggests aws.s3, uuid, R.utils, testthat, DBItest, knitr, rmarkdown

See at CRAN