Richard and F. Tussell,
Thank you very much for your explanations and suggestions.
Richard, and any
See my reply below.
Richard Rowe ha escrito:
> At 18:03 11/05/02 +0100, you wrote:
> >Hi,
> >Thanks for showing me how to use RODBC and odbcConnect.
> >Now works nicely. The question I've got now is:
> >
> >noms <- list.files(pattern=".DBF")
> ># removing extension names:
> >noms <- sapply(noms, function(x)
as.character(strsplit(x,".DBF")) ,
> >USE.NAMES=F)
> >
> >for (i in 1:length(noms)) {
> > s <- sqlFetch(bdades, noms[i])
> ># etc.
> >}
> >
> >But it seems that sqlFetch() doesn't accept the name noms[i].
Neither
> >paste(noms[1], sep = "").
> >Any suggestion for workaround?
>
> Don't know but two suggestions
>
> 1) are the tables {noms} actually tables in the database which is linked
> with the handle bdades? If they are separate databases then they will
> require separate DSN handles to link ...
I think this is not needed. dbaseclima is the DSN for a subdiretory (Panel
control, ...), and after
bdades <- odbcConnect("dbaseclima")
I'm able to access to all tables in the subdirectory, without any problem.
The problem is when I want to use the name of a table as an item of an array
of names (noms[i], see below)
> Solution: do some adjusting in the database so the various noms tables are
> in the same database
>
> 2) the characters '[' and ']' seem to have special
properties to pass
> names, so noms[i] may not be being interpreted as the i-th member of
> 'noms' ... as I said earlier I don't know the detail of this
construction
>
> Solution: name the table first
>
> >for (i in 1:length(noms)) {
>
> nomfornow<-noms[i] ## and you will need to ensure there are
> quote marks around nomfornow
>
> > s <- sqlFetch(bdades, nomfornow)
I did try this option, but unfortunatly didn't work:
>noms <- list.files(pattern=".DBF")
># removing extension names:
>noms <- sapply(noms, function(x)
as.character(strsplit(x,".DBF")) ,
USE.NAMES=F)>
> nom <- noms[1]
> s <- sqlFetch(bdades, nom)
Error in sqlFetch(bdades, nom) : nom :table not found on channel
0> nom
[1] "R7031"> s <- sqlFetch(bdades, "R7031") # this works perfectly
>
I got ca. 200 files I'd like to read, this is why I would like to use
noms[i].
cheers
Juli
> ># etc.
> >}
>
> Richard Rowe
> Senior Lecturer
> Department of Zoology and Tropical Ecology, James Cook University
> Townsville, Queensland 4811, Australia
> fax (61)7 47 25 1570
> phone (61)7 47 81 4851
> e-mail: Richard.Rowe at jcu.edu.au
> http://www.jcu.edu.au/school/tbiol/zoology/homepage.html
--
Juli G. Pausas
Centro de Estudios Ambientales del Mediterraneo (CEAM)
C/ C.R. Darwin 14, Parc Tecnologic,
46980 Paterna, Valencia, SPAIN
Tel: (+ 34) 96 131 8227; Fax: (+ 34) 96 131 8190
mailto:juli at ceam.es
http://www.gva.es/ceam
GCTE Fire Network - http://www.gva.es/ceam/FireNetwork
-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-
r-help mailing list -- Read http://www.ci.tuwien.ac.at/~hornik/R/R-FAQ.html
Send "info", "help", or "[un]subscribe"
(in the "body", not the subject !) To: r-help-request at
stat.math.ethz.ch
_._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._