Ошибка RODBC: «недопустимое значение символа для спецификации приведения» - Excel 2007

Я пытаюсь использовать RODBC для записи в файл Excel2007 и сохраняю получение ошибок. Я свел проблему к этому очень простому случаю, data.frame с одной строкой с символьными, числовыми, датами и логическими типами данных:

toWrite = data.frame( Name = "joe" , Date = as.Date("2011-01-01"), Value = 2 , Paid = FALSE )
xlFile = odbcConnectExcel2007( "REPLACE_WITH_XLSB_FILE_PATH" , readOnly = FALSE )
sqlSave( xlFile , toWrite , tablename = "worksheet1" , rownames = FALSE )

Ошибка:

Error in sqlSave(xlFile, toWrite, tablename = "worksheet1", rownames = FALSE) : 
  [RODBC] Failed exec in Update
22018 39 [Microsoft][ODBC Excel Driver]Invalid character value for cast specification 
In addition: Warning message:
In odbcUpdate(channel, query, mydata, coldata[m, ], test = test,  :
  character data 'FALSE' truncated to 1 bytes in column 'Paid'

Если я конвертирую столбцы Date и logic в символьные тогда все работает нормально. Проблема в том, что теперь это символы в Excel, и их нельзя использовать в качестве предполагаемых типов данных без преобразования. Я покопался в коде sqlSave, и, похоже, он делает правильные вещи. Кто-нибудь еще сталкивался с этой проблемой?

7
задан SFun28 17 October 2011 в 15:34
поделиться