Запись набора данных R в Oracle с очень большими полями (8000 символов)

Мне нужно записать набор данных R в базу данных Oracle, используя R-пакет ROracle версии 1.3-1, R версии 3.4.1, Oracle OraClient 11g home, и я новичок в R.

Набор данных включал переменные нескольких разных типов данных и длины, в том числе несколько символьных типов длиной до 8000 символов.

Использование dbWriteTable

dbWriteTable(conn, "OracleTableName", df)

Я получаю эту ошибку:

Error in .oci.WriteTable(conn, name, value, row.names = row.names, 
overwrite = overwrite,  : 
  Error in .oci.GetQuery(con, stmt, data = value) : 
  ORA-01461: can bind a LONG value only for insert into a LONG column

или это

Error in .oci.GetQuery(con, stmt) : 
  ORA-02263: need to specify the datatype for this column

или это

drv <- 
  dbDriver("Oracle")
 conn <- 
  dbConnect(
     drv, 
    username = "username", 
    password = "password", 
    dbname = "dbname")
test.df1 <- subset(
  df, select=c(
    Var, Var2, Var3, 
    Var4, Var5, Var6))
dat <- as.character(test.df1)
attr(dat, "ora.type") <- "clob"
dbWriteTable(conn, "test2", dat)

возвращает это

Error in (function (classes, fdef, mtable)  : 
  unable to find an inherited method for function ‘dbWriteTable’ for 
signature ‘"OraConnection", "character", "character"’

Из исследования ошибки выяснилось, что первая ошибка указывает на то, что более крупные поля — поля BLOB — не распознаются Oracle как BLOB.

В документации указано, что ROracle версии 1.3-1 должен поддерживать работу с большими типами данных. Он предлагает использовать атрибут для правильного сопоставления столбцов NCHAR, CLOB, BLOB, NCLOB в dbWriteTable. Мне не удалось успешно выполнить этот пример, так как я продолжаю получать ту же ошибку. Возможно, мне просто нужен пример, отличный от приведенного в документации?

Первоначально я использовал пакет RODBC, но обнаружил, что известно, что RODBC не обрабатывает большие типы данных (BLOB).

Любая помощь или совет приветствуются.


person SophiaC    schedule 02.08.2017    source источник
comment
вы смотрели на эту ссылку ?   -  person I3rutt    schedule 02.08.2017
comment
Говорят, что устранили проблему, но не указывают, как именно. Мне нужно как, желательно с кодом, так как я новичок в R.   -  person SophiaC    schedule 02.08.2017
comment
Это пример, который я имею в виду. Как уже говорилось, я попытался следовать ему и пришел к той же ошибке. Дальнейшее объяснение или другой пример будут оценены.   -  person SophiaC    schedule 03.08.2017
comment
Связался с создателем пакета и смог записать в уже созданную таблицу на сервере Oracle. Все еще не удается создать таблицу, содержащую переменные CLOB/BLOB.   -  person SophiaC    schedule 14.08.2017