Learn R Programming

odbc (version 1.4.2)

odbcDataType: Return the corresponding ODBC data type for an R object

Description

This is used when creating a new table with dbWriteTable(). Databases with default methods defined are

  • MySQL

  • PostgreSQL

  • SQL Server

  • Oracle

  • SQLite

  • Spark

  • Hive

  • Impala

  • Redshift

  • Vertica

  • BigQuery

  • Teradata

  • Access

Usage

odbcDataType(con, obj, ...)

Value

Corresponding SQL type for the obj.

Arguments

con

A driver connection object, as returned by dbConnect().

obj

An R object.

...

Additional arguments passed to methods.

Defining a new dbDataType method

The object type for your connection will be the database name retrieved by dbGetInfo(con)$dbms.name. Use the documentation provided with your database to determine appropriate values for each R data type. An example method definition of a fictional foo database follows.

con <- dbConnect(odbc::odbc(), "FooConnection")
dbGetInfo(con)$dbms.name
#> [1] "foo"

`odbcDataType.foo <- function(con, obj, ...) { switch_type(obj, factor = "VARCHAR(255)", datetime = "TIMESTAMP", date = "DATE", binary = "BINARY", integer = "INTEGER", double = "DOUBLE", character = "VARCHAR(255)", logical = "BIT", list = "VARCHAR(255)", stop("Unsupported type", call. = FALSE) ) }

Details

If you are using a different database and dbWriteTable() fails with a SQL parsing error the default method is not appropriate, you will need to write a new method.