Algumas preliminares -
OS: lançamento do Fedora 16 (Verne)
Versão do servidor MySQL: 5.5.29 MySQL Community Server
Versão R: 2.15.1 (2012-06-22) - "Marshmallows Assados"
Estou executando um servidor MySQL que está hospedado no host local (127.0.0.1).
Eu tenho scripts R que usam a biblioteca RODBC e gostaria de passar um nome de fonte de dados (DSN) para a função odbcConnect() de ODBC .
Após alguns Googling (há algumas páginas que lidam com MS SQL Server DSNs com RODBC em um sistema operacional Linux), sou de opinião que preciso preencher o arquivo de configuração em /etc/odbc.ini . Atualmente, aqui estão os conteúdos do arquivo:
[ODBC Data Sources]
myDSN = MySQL
[myDSN]
Description = my Data Source Name
Driver = MySQL
UID = root
PWD = *password*
Port = 3306
Database = my_database
Eu também li que o valor do Driver no arquivo acima aponta para /etc/odbcinst.ini . Aqui está o seu conteúdo:
[MySQL]
Description = ODBC for MySQL
Driver = /usr/lib/libmyodbc5.so
Setup = /usr/lib/libodbcmyS.so
Driver64 = /usr/lib64/libmyodbc5.so
Setup64 = /usr/lib64/libodbcmyS.so
FileUsage = 1
No entanto, quando eu executo o R, recebo uma mensagem de erro.
> library(RODBC)
> cn <- odbcConnect('myDSN')
Warning messages:
1: In odbcDriverConnect("DSN=myDSN") :
[RODBC] ERROR: state 01000, code 0, message [unixODBC][Driver Manager]Can't open lib '/usr/lib/libmyodbc5.so' : file not found
2: In odbcDriverConnect("DSN=myDSN") : ODBC connection failed
Eu verifiquei que o arquivo /usr/lib/libmyodbc5.so existe. Na verdade, é um link para /usr/lib/libmyodbc5-5.1.8.so ; Eu tentei substituir este nome de arquivo em Driver linha de /etc/odbcinst.ini , mas recebo o mesmo erro de R.
Como posso fazer isso funcionar enquanto ainda uso RODBC ?
===== UPDATE =====
Eu removi o que eu tinha adicionado manualmente em /etc/odbcinst.ini e, em seguida, continuei com as etapas a seguir.
Eu tentei instalar o mysql-connector-odbc , mas foi informado de que ele já estava instalado. Então parei meu servidor MySQL, removi o pacote mysql-connector-odbc com sudo yum remove mysql-connector-odbc , re-instalei o pacote mysql-connector-odbc e iniciei o servidor MySQL.
Quando tentei executar os mesmos comandos R acima, recebi os mesmos resultados.