Проблема при переносе с RODBCext на odb c и DBI - PullRequest
0 голосов
/ 05 августа 2020

С момента обновления до последней версии RI стало известно, что RODBCext были заархивированы. Что очень плохо, поскольку это было одним из краеугольных камней при отправке моих результатов в мою базу данных.

RODBCext довольно хорош, я могу сделать это, например:

conName <- RODBC-connection
conname_new <- DBI/odbc-connection
tbl <- "MySchema.Table1"
nobsQ <- "?,?,?"

dt <- data.table(Col1 = c(1,2,3),
                 Col2 = c("T", "R", "S"),
                 Col3 = c("Blah", "Gah", "Rah"))

sqlExecute(conName, paste0("INSERT INTO ",tbl, " VALUES (", nobsQ, ")"), dt)

Хотя я понимаю что в odb c и DBI я должен l oop через мои data.tables превратить каждую строку в data.table в список (от столбцов к строкам). Похоже, это худшее решение, чем у меня сейчас. Возможность передавать таблицу данных как есть довольно привлекательна. И я бы предпочел не заменять это кучей циклов for.

Итак, мой вопрос заключается в следующем: могу ли я перенести приведенный выше фрагмент sqlExecute в синтаксис DBI / odb c, не прибегая слишком к for- петли?

...