Основываясь на предыдущем вопросе ( здесь ), я создал фрейм данных в R:
mdf <- structure(list(run = structure(c(1L, 1L, 1L, 1L, 1L, 1L), .Label = c("run_00",
"run_01", "run_02", "run_03", "run_04"), class = "factor"), slot = structure(c(1L,
1L, 1L, 1L, 1L, 1L), .Label = c("slot 3", "slot 4", "slot 5",
"slot 6"), class = "factor"), timestamp = structure(c(1320774563,
1320774624, 1320774686, 1320774747, 1320774809, 1320774871), class = c("POSIXct",
"POSIXt"), tzone = ""), channel = structure(c(1L, 1L, 1L, 1L,
1L, 1L), .Label = c("och01", "och02", "och09", "och10"), class = "factor"),
variable = structure(c(2L, 2L, 2L, 2L, 2L, 2L), .Label = c("num_blocks",
"num_collection", "num_corr_0", "num_corr_1", "num_uncorr_srow",
"post_fec_err_rate", "pre_fec_err_rate"), class = "factor"),
value = c(1, 62, 124, 185, 247, 309)), .Names = c("run",
"slot", "timestamp", "channel", "variable", "value"), row.names = c(NA,
6L), class = "data.frame")
> mdf
run slot timestamp channel variable value
1 run_00 slot 3 2011-11-08 12:49:23 och01 num_collection 1
2 run_00 slot 3 2011-11-08 12:50:24 och01 num_collection 62
3 run_00 slot 3 2011-11-08 12:51:26 och01 num_collection 124
4 run_00 slot 3 2011-11-08 12:52:27 och01 num_collection 185
5 run_00 slot 3 2011-11-08 12:53:29 och01 num_collection 247
6 run_00 slot 3 2011-11-08 12:54:31 och01 num_collection 309
Затем я сохраняю эти данные в базе данных:
sqlSave(conout,mdf,tablename="mdf")
Теперь я хочу добавить те же данные в базу данных:
sqlSave(conout,mdf,tablename="mdf",fast=FALSE,append=TRUE, verbose=TRUE)
Это приводит к следующей ошибке:
[RODBC] ERROR: Could not SQLExecDirect 'INSERT INTO "mdf" ( "rownames", "run", "slot", "timestamp", "channel", "variable", "value" ) VALUES ( '1', 'run_00', 'slot 3', 2011-11-08 17:49:23, 'och01', 'num_collection', 1 )'
Я понимаю причину ошибки, потому что R должен заключать в кавычки значение даты-времени "timestamp" (т. Е. '2011-11-08 17:49:23'). Тем не менее, я не знаю, как обойти эту ошибку. Несколько советов?
Версия пакета: 1.3.15
EDIT:
Если вы ссылаетесь на другие вопросы, пожалуйста, объясните, насколько они могут мне помочь.