[R] RODBC sqlFetch

juli g. pausas juli at ceam.es
Mon May 13 15:04:45 CEST 2002


Great!
Thank you very much

juli


ripley at stats.ox.ac.uk ha escrito:

> You need to modify sqlFetch, which starts
>
> "sqlFetch" <-
> function (channel, sqtable, ..., colnames = FALSE, rownames = FALSE)
> {
>     if (channel < 0)
>         stop("invalid channel")
>     if (missing(sqtable))
>         stop("Missing parameter")
>     tablename <- as.character(substitute(sqtable))
>
> replace that last line by tablename <- sqtable.
>
> BDR
>
> On Mon, 13 May 2002, juli g. pausas wrote:
>
> > 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
> > _._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._
> >
>
> --
> Brian D. Ripley,                  ripley at stats.ox.ac.uk
> Professor of Applied Statistics,  http://www.stats.ox.ac.uk/~ripley/
> University of Oxford,             Tel:  +44 1865 272861 (self)
> 1 South Parks Road,                     +44 1865 272860 (secr)
> Oxford OX1 3TG, UK                Fax:  +44 1865 272595

--
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
_._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._



More information about the R-help mailing list