Hi All,
  There's a function called setSqlTypeInfo(driver,value) in RODBC package http://cran.r-project.org/web/packages/RODBC/index.html

Description
Specify or retrieve a mapping of R types to DBMS datatypes.

>From the package(RODBC) TypeInfo.r:

setSqlTypeInfo <- function(driver, value)
{
    if(!is.character(driver) || length(driver) != 1L)
        stop("argument 'driver' must be a character string")
    if(!is.list(value) || length(value) < 4L || is.null(names(value)) )
        stop("argument 'value' must be a named list of length >= 4")
    typesR2DBMS[[driver]] <<- value[c("double", "integer", "character", "logical")]
}

If I try to use it :
setSqlTypeInfo("Microsoft SQL Server",
list(double="float", integer="int",
character="varchar(255)", logical="varchar(5)"))

It gives me this error:

Error in typesR2DBMS[[driver]] <<- value[c("double", "integer", "character",  :
  cannot change value of locked binding for 'typesR2DBMS'

Actually, I am using RODM package (http://cran.r-project.org/web/packages/RODM/index.html ) which internally calls this function while making a connection to the Oracle DB. I am getting this error every time I try to make a connection.
https://forums.oracle.com/message/11030499
RODM_open_dbms_connection() try to make a call to setSqlTypeInfo().

*********

*********


`RODM_open_dbms_connection` <- function(
#
# Open an ODBC connection to the Oracle Database
#
dsn,
uid = "",
pwd = "")
{
  library(RODBC)

  channel <- odbcConnect(dsn = dsn, uid = uid, pwd = pwd, case = "toupper", rows_at_time=1)
  driver <- odbcGetInfo(channel)[[1]]
  setSqlTypeInfo(driver, list(double="double precision", integer="integer", character="varchar(255)", logical="varchar(255)"))

*********
*********

I am confused why would there be locked binding here.
Sorry , if I didn't post my question according to the guidelines. I am new to using R. Any suggestion will be appreciated.

Thanks
Mandeep



----------------------------------------------------------------------
This message, and any attachments, is for the intended r...{{dropped:5}}

