[R] Problem with RODBC
David Scott
d.scott at auckland.ac.nz
Thu Jul 21 03:07:35 CEST 2011
On 20/07/11 18:56, Dieter Menne wrote:
> David Scott-6 wrote:
>> I have been trying to read some data from an Excel workbook without
>> success.
>> ...
>> > faults<- sqlFetch(channel, sqtable = 'Data',
>> + colnames = FALSE, as.is = TRUE)
>> > faults
>> [1] "HY001 -1040 [Microsoft][ODBC Excel Driver] Too many fields defined."
>> [2] "[RODBC] ERROR: Could not SQLExecDirect 'SELECT * FROM [Data$]'"
>>
>>
> I have given up using odbc/Excel without named ranges, but I know it works
> sometimes. xlsReadWrite works well for whole sheets, while the gdata/Perl
> solutions can be terribly slow (minutes instead of seconds) with large
> files.
>
> I had seen the message above before, and it had to do with some invisible
> characters in the fields. I managed to get it to work by exporting value of
> the sheet, which seems to do a cleanup. Alternatively, a Copy/PasteValue.
> After that, my curiosity was satisfied, and I returned to named ranges or
> xlsReadWrite.
>
> Dieter
>
>
>
Thanks Dieter. Your reply prompted me to carry out some experimentation
which confirmed to me the validity of your conclusions. I was unable to
read the data satisfactorily using RODBC without creating a named range.
Once I created a named range all was fine.
I did some searching for unusual characters in the data set, but
couldn't find anything untoward. I tried removing the 1st row which had
drop down lists but to no avail.
Another approach which worked was to copy the data from the existing
sheet to a new sheet, retaining values and number formats.
Finally, I decided to save the workbook in .xlsx format, and use
odbcConnectExcel2007. I was then able to read the data successfully,
with one problem being that 255 columns were read, when only 20 actually
contained data. The read also seemed a bit slow.
So, a few workarounds for anyone facing this problem in the future:
named range; copy the data values to a new sheet; or use .xlsx format.
David Scott
--
_________________________________________________________________
David Scott Department of Statistics
The University of Auckland, PB 92019
Auckland 1142, NEW ZEALAND
Phone: +64 9 923 5055, or +64 9 373 7599 ext 85055
Email: d.scott at auckland.ac.nz, Fax: +64 9 373 7018
More information about the R-help
mailing list