2015-06-12 28 views
6

Postępowałem zgodnie z tym przewodnikiem http://eriqande.github.io/2014/12/19/setting-up-rodbc.html, aby uzyskać RODBC pracujące z MAC i mogę połączyć się z DB.RODBC z MAC nie działa. Korzystanie z unixODBC i Rstudio

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

Pliki konfiguracyjne są ustawione zgodnie z instrukcją.

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 

zainstalować pakiet 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) 

I kiedy go wypróbować wydaje się, że nie korzysta z moich bibliotek unixodbc.

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

Kiedy próbuję łączyć się za pośrednictwem 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  

Komunikat o błędzie wskazuje mi, że RODBC nadal korzysta iODBC. Przeglądałem internet od wielu dni, ale nie mogę znaleźć rozwiązania tego problemu. Byłoby naprawdę niesamowicie, gdyby ktokolwiek tutaj wskazał mi właściwy kierunek.

Marco

+0

Jak wygląda twój plik "odbcinst.ini"? Wydaje mi się, że potrzebujesz czegoś na skutek "[Sterowniki ODBC] \ freetds = installed \ [freetds] \ driver = /usr/local/lib/libtdsodbc.so \ setup =/usr/local/lib/libtdsodbc.so' (gdzie '\\' powinno w rzeczywistości być podziałami linii). – nrussell

+0

odbcinst.ini był całkowicie pusty Zmieniłem to teraz z twoimi wartościami i ponownie zainstalowałem RODBC, ale dostaję ten sam odbcDataSources() nazwany znak (0) po. –

+0

Nie jestem pewien na OS X, ale w dystrybucji Linuksa musiałem skonfigurować ten plik, a także mam problemy z połączeniami isql/ODBC. – nrussell

Odpowiedz

0

Czyste ponowne zainstalowanie mojego komputera Mac rozwiązało problemy z biblioteką. Po prostu dokładnie poszedłem do przewodnika i zadziałało.

+0

jest poważny problem z RODBC i mac sierra. Nie można go uruchomić bez względu na wszystko. Mam nadzieję, że czyste ponowne zainstalowanie nie jest tym, co wymaga – user798719

+0

@ user798719, czy miałeś z tym trochę szczęścia bez reinstalacji? Zadałem tutaj także pytanie: http://stackoverflow.com/questions/40823458/odbc-data-source-name-not-found-and-no-default-driver-specified – Bobby

+0

Tak, to nie jest koniecznie sierra. Użyj starszej wersji freetds 091 lub innego numeru wersji. To naprawiło problem. – user798719