2015-06-12 17 views
6

Ho seguito questa guida http://eriqande.github.io/2014/12/19/setting-up-rodbc.html per far funzionare RODBC con MAC e sono in grado di connettermi al DB.RODBC con MAC non funzionante. Utilizzo di unixODBC e Rstudio

Marcos-MacBook-Pro:~ MarcoB$ isql -v ODBC_SQLSS_R **** ****** 
+---------------------------------------+ 
| Connected!       | 
|          |  
| sql-statement       | 
| help [tablename]      | 
| quit         | 
|          | 
+---------------------------------------+ 
SQL> 

I file di configurazione sono impostati in base alla guida.

Marcos-MacBook-Pro:~ MarcoB$ cat /usr/local/etc/freetds.conf 
[ODBC_SQLSS_R]  
host = xxx.xxx.xxx.xxx  
port = 1433  
client charset = UTF-8 



Marcos-MacBook-Pro:~ MarcoB$ cat /usr/local/etc/odbc.ini 
[ODBC_SQLSS_R] 
Driver = /usr/local/lib/libtdsodbc.so 
Server = xxx.xxx.xxx.xxx 
POrt = 1433 

ho installare il pacchetto RODBC

> install.packages("RODBC", type = "source") 
... 
** R 
** inst 
** preparing package for lazy loading 
** help 
*** installing help indices 
** building package indices 
** installing vignettes 
** testing if installed package can be loaded 
* DONE (RODBC) 

E quando provo fuori sembra che non usa le mie librerie unixODBC.

library("RODBC") 
odbcDataSources() 
named character(0) 

Quando provo a collegarmi via ODBC

odbcConnect("ODBC_SQLSS_R", uid=“*****", pwd=“******"); 
    Warning messages: 
    1: In odbcDriverConnect("DSN=ODBC_SQLSS_R;UID=*****;PWD=*****") : 
     [RODBC] ERROR: state IM002, code 1962223636, message [iODBC][Driver 
    Manager]Data source name not found and no default driver specified. 
Driver could not be loaded  

Il messaggio di errore indica a me che RODBC utilizza ancora iODBC. Ho navigato su internet per giorni ma non riesco a trovare una soluzione per il problema. Sarebbe davvero fantastico se qualcuno qui potesse indicarmi la giusta direzione.

Marco

+0

Che aspetto ha il file 'odbcinst.ini'? Penso che tu abbia bisogno di qualcosa per l'effetto di '[Driver ODBC] \ freetds = installed \ [freetds] \ driver = /usr/local/lib/libtdsodbc.so \ setup =/usr/local/lib/libtdsodbc.so' (dove '\\' dovrebbe effettivamente essere interruzioni di riga). – nrussell

+0

odbcinst.ini era completamente vuoto Ho modificato ora con i tuoi valori e reinstallato RODBC ma ottengo lo stesso odbcDataSources() con nome carattere (0) dopo. –

+0

Non sono sicuro su OS X ma sulle distribuzioni Linux ho avuto bisogno di configurare anche quel file altrimenti ho problemi con le connessioni isql/ODBC. – nrussell

risposta

0

Una reinstallazione pulita del mio Mac sembrano aver risolto i problemi di libreria. Ho appena seguito di nuovo la guida e ha funzionato.

+0

c'è un problema serio con RODBC e mac sierra. Non riesco a farlo funzionare, non importa quale. Spero che una reinstallazione pulita non sia quella che serve – user798719

+0

@ user798719, hai avuto fortuna con questo senza reinstallare? Ho postato una domanda anche qui: http://stackoverflow.com/questions/40823458/odbc-data-source-name-not-found-and-no-default-driver-specified – Bobby

+0

Sì, non è necessariamente Sierra. Utilizzare la versione precedente di freetds 091 o qualunque sia il numero di versione. Questo ha risolto il problema. – user798719