0

Based on a previous question (here), I created a dataframe in 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

Then I save these data to the database:

sqlSave(conout,mdf,tablename="mdf")

Now, I want to append the same data to the database:

sqlSave(conout,mdf,tablename="mdf",fast=FALSE,append=TRUE, verbose=TRUE)

This results in the following error:

[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 )'

I understand the cause of the error, because R should make quotes around the datetime value "timestamp" (i.e. '2011-11-08 17:49:23'). However, I do not know how to work around this error. Some advice?

Package Version: 1.3.15

EDIT: If referring to other questions, please be so kind to explain in how far they can help me.

Jan Janiszewski
  • 432
  • 3
  • 14
  • Have a look at https://stackoverflow.com/questions/8526278/sqlsave-mapping-dataframe-timestamps-to-sql-server-timestamps – MKR May 16 '18 at 21:36
  • @MKR: Please explain in how far the other question can help me. I thought that my question is different from the other in that it is about APPENDING rows rather than CREATING NEW TABLES. – Jan Janiszewski May 16 '18 at 21:56

0 Answers0