[R] RODBC: missing files? (Re: RODBC: how to set the data-source?)

Oliver Bandel oliver at first.in-berlin.de
Sat Aug 29 22:16:53 CEST 2009


Hello,


I "strace"t the R session when trying to connect to the database.


Strange, that /etc/odbc.ini first should be opened with Append-mode:


open("/etc/odbc.ini", O_WRONLY|O_CREAT|O_APPEND, 0666) = -1 EACCES (Permission
denied)
open("/etc/odbc.ini", O_RDONLY)         = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=259, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) =
0x7f305ae91000
read(3, "[rtestdb]\nDescription     = rtest"..., 4096) = 259


also strange: the file will be read many, many times.
I did not pasted it here, but /etc/odbc.ini and /etc/passwd
are read very often.

I assume for each entry in /etc/passwd until the one that os looked for,
/etc/odbc.ini is opened once...
...maybe I should test this hypothesis... looks strange.





The next stuff also looks strange: as if there is a problem because of a missing
locale-stuff?


mprotect(0x7f30565eb000, 4096, PROT_READ) = 0
open("/usr/share/locale/de_DE.UTF-8/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT
(No such file or directory)
open("/usr/share/locale/de_DE.utf8/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT
(No such file or directory)
open("/usr/share/locale/de_DE/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No
such file or directory)
open("/usr/share/locale/de.UTF-8/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No
such file or directory)
open("/usr/share/locale/de.utf8/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No
such file or directory)
open("/usr/share/locale/de/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such
file or directory)
open("/usr/share/locale-langpack/de_DE.UTF-8/LC_MESSAGES/libc.mo", O_RDONLY) =
-1 ENOENT (No such file or directory)
open("/usr/share/locale-langpack/de_DE.utf8/LC_MESSAGES/libc.mo", O_RDONLY) = -1
ENOENT (No such file or directory)
open("/usr/share/locale-langpack/de_DE/LC_MESSAGES/libc.mo", O_RDONLY) = -1
ENOENT (No such file or directory)
open("/usr/share/locale-langpack/de.UTF-8/LC_MESSAGES/libc.mo", O_RDONLY) = -1
ENOENT (No such file or directory)
open("/usr/share/locale-langpack/de.utf8/LC_MESSAGES/libc.mo", O_RDONLY) = -1
ENOENT (No such file or directory)
open("/usr/share/locale-langpack/de/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT
(No such file or directory)
open("/usr/share/locale/de_DE.UTF-8/LC_MESSAGES/RODBC.mo", O_RDONLY) = -1 ENOENT
(No such file or directory)
open("/usr/share/locale/de_DE.utf8/LC_MESSAGES/RODBC.mo", O_RDONLY) = -1 ENOENT
(No such file or directory)
open("/usr/share/locale/de_DE/LC_MESSAGES/RODBC.mo", O_RDONLY) = -1 ENOENT (No
such file or directory)
open("/usr/share/locale/de.UTF-8/LC_MESSAGES/RODBC.mo", O_RDONLY) = -1 ENOENT
(No such file or directory)
open("/usr/share/locale/de.utf8/LC_MESSAGES/RODBC.mo", O_RDONLY) = -1 ENOENT (No
such file or directory)
open("/usr/share/locale/de/LC_MESSAGES/RODBC.mo", O_RDONLY) = -1 ENOENT (No such
file or directory)
open("/usr/share/locale-langpack/de_DE.UTF-8/LC_MESSAGES/RODBC.mo", O_RDONLY) =
-1 ENOENT (No such file or directory)
open("/usr/share/locale-langpack/de_DE.utf8/LC_MESSAGES/RODBC.mo", O_RDONLY) =
-1 ENOENT (No such file or directory)
open("/usr/share/locale-langpack/de_DE/LC_MESSAGES/RODBC.mo", O_RDONLY) = -1
ENOENT (No such file or directory)
open("/usr/share/locale-langpack/de.UTF-8/LC_MESSAGES/RODBC.mo", O_RDONLY) = -1
ENOENT (No such file or directory)
open("/usr/share/locale-langpack/de.utf8/LC_MESSAGES/RODBC.mo", O_RDONLY) = -1
ENOENT (No such file or directory)
open("/usr/share/locale-langpack/de/LC_MESSAGES/RODBC.mo", O_RDONLY) = -1 ENOENT
(No such file or directory)
semop(294920, 0x7fff62e9c110, 2)        = 0
semop(294920, 0x7fff62e9c130, 1)        = 0
open("/usr/share/locale/de_DE.UTF-8/LC_MESSAGES/R-RODBC.mo", O_RDONLY) = -1
ENOENT (No such file or directory)
open("/usr/share/locale/de_DE.utf8/LC_MESSAGES/R-RODBC.mo", O_RDONLY) = -1
ENOENT (No such file or directory)
open("/usr/share/locale/de_DE/LC_MESSAGES/R-RODBC.mo", O_RDONLY) = -1 ENOENT (No
such file or directory)
open("/usr/share/locale/de.UTF-8/LC_MESSAGES/R-RODBC.mo", O_RDONLY) = -1 ENOENT
(No such file or directory)
open("/usr/share/locale/de.utf8/LC_MESSAGES/R-RODBC.mo", O_RDONLY) = -1 ENOENT
(No such file or directory)
open("/usr/share/locale/de/LC_MESSAGES/R-RODBC.mo", O_RDONLY) = -1 ENOENT (No
such file or directory)
open("/usr/share/locale-langpack/de_DE.UTF-8/LC_MESSAGES/R-RODBC.mo", O_RDONLY)
= -1 ENOENT (No such file or directory)
open("/usr/share/locale-langpack/de_DE.utf8/LC_MESSAGES/R-RODBC.mo", O_RDONLY) =
-1 ENOENT (No such file or directory)
open("/usr/share/locale-langpack/de_DE/LC_MESSAGES/R-RODBC.mo", O_RDONLY) = -1
ENOENT (No such file or directory)
open("/usr/share/locale-langpack/de.UTF-8/LC_MESSAGES/R-RODBC.mo", O_RDONLY) =
-1 ENOENT (No such file or directory)
open("/usr/share/locale-langpack/de.utf8/LC_MESSAGES/R-RODBC.mo", O_RDONLY) = -1
ENOENT (No such file or directory)
open("/usr/share/locale-langpack/de/LC_MESSAGES/R-RODBC.mo", O_RDONLY) = -1
ENOENT (No such file or directory)
open("/usr/share/locale-langpack/de_DE.UTF-8/LC_MESSAGES/R.mo", O_RDONLY) = -1
ENOENT (No such file or directory)
open("/usr/share/locale-langpack/de_DE/LC_MESSAGES/R.mo", O_RDONLY) = -1 ENOENT
(No such file or directory)
open("/usr/share/locale-langpack/de.UTF-8/LC_MESSAGES/R.mo", O_RDONLY) = -1
ENOENT (No such file or directory)
open("/usr/share/locale-langpack/de/LC_MESSAGES/R.mo", O_RDONLY) = -1 ENOENT (No
such file or directory)
write(2, "Warning messages:\n"..., 18Warning messages:
)  = 18
write(2, "1: In odbcDriverConnect(st, ...) "..., 1571: In odbcDriverConnect(st,
...) :
  [RODBC] ERROR: state IM004, code 0, message [unixODBC][Driver Manager]Driver's
SQLAllocHandle on SQL_HANDLE_HENV failed
) = 157
write(2, "2: In odbcDriverConnect(st, ...) "..., 582: In odbcDriverConnect(st,
...) : ODBC connection failed
) = 58
rt_sigprocmask(SIG_BLOCK, [INT], [], 8) = 0



So this file is missing (have Ubuntu-Linux here),
and directly after trying to acces the file the error is returned.

I would assume this is a problem for the developers (or at least the package
maintainers).



Ciao,
   Oliver




More information about the R-help mailing list