У меня есть код R, который выглядит следующим образом:
missingDataJson <- toJSON(head(diff))
df <- data.frame(ValidationDate = startTime, DataType = "Panel", MissingData = missingDataJson, stringsAsFactors = F)
sqlSave(odsHandle, df, tablename = "Utility.DailyDataValidation", append=T)
Фрейм данных "df" выглядит следующим образом:
df
ValidationDate DataType
1 2016-08-22 13:40:37 Panel
MissingData
1 {"SubId":[160822032032,160822032033,160822032034,160822032035,160822032036,160822032037],"ReadTime":[1471887657.787,1471887681.357,1471887705.023,1471887728.483,1471887752.273,1471887776.423]}
Когда я выполняю sqlSave, я получаю следующее сообщение об ошибке:
Error in odbcUpdate(channel, query, mydata, coldata[m, ], test = test, :
'Calloc' could not allocate memory (18446744071562067968 of 1 bytes)
In addition: Warning messages:
1: In odbcUpdate(channel, query, mydata, coldata[m, ], test = test, :
Reached total allocation of 16287Mb: see help(memory.size)
2: In odbcUpdate(channel, query, mydata, coldata[m, ], test = test, :
Reached total allocation of 16287Mb: see help(memory.size)
Почему требуется столько памяти? Размер фрейма данных довольно мал.
varchar(max)
(который у меня есть, и они не проблема), это былоimage(max)
. Я не возражаю, но я также не понимаю используемого основного механизма, поэтому я не могу много возражать против использования структур C. - person r2evans   schedule 25.08.2016RODBC
наRSQLServer
по нескольким причинам.sqlSave
- один из них (хотя не в этом суть). - person r2evans   schedule 25.08.2016RSQLServer
, я бы предложил использовать версию Github (возможно, даже функцию - dbi-0_5), которым также может пригодиться версияDBI
для Github. @imanuelcostigan был занят его обновлением (и DBI также видит много изменений). - person r2evans   schedule 25.08.2016