2015-06-12 4 views
6

folgte ich dieser Anleitung http://eriqande.github.io/2014/12/19/setting-up-rodbc.html, um RODBC mit MAC zu arbeiten, und ich bin in der Lage, eine Verbindung zur DB herzustellen.RODBC mit MAC funktioniert nicht. Unter Verwendung von unixODBC und Rstudio

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

Die Konfigurationsdateien werden gemäß der Anleitung festgelegt.

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 

ich installieren Sie das Paket 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) 

Und wenn ich es versuchen, es scheint, dass es nicht meine UnixODBC Bibliotheken nicht verwendet.

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

Wenn ich versuche, über 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  

Die Fehlermeldung zeigt an, mich zu verbinden, dass RODBC noch iODBC verwendet, ist. Ich habe das Internet seit Tagen durchsucht, aber ich kann keine Lösung für das Problem finden. Wäre wirklich toll, wenn jemand hier mir in die richtige Richtung zeigen könnte.

Marco

+0

Wie sieht Ihre Datei "odbcinst.ini" aus? Ich denke, du brauchst etwas mit dem Effekt '[ODBC Treiber] \ freetds = installiert \ [freetds] \ driver = /usr/local/lib/libtdsodbc.so \ setup =/usr/local/lib/libtdsodbc.so' (wo das '\\' eigentlich Zeilenumbrüche sein sollte. – nrussell

+0

odbcinst.ini war komplett leer Ich habe es jetzt mit Ihren Werten bearbeitet und RODBC neu installiert, aber ich bekomme das gleiche odbcDataSources() namens Zeichen (0) nach. –

+0

Ich bin nicht sicher über OS X, aber auf Linux-Distributionen, die ich benötigt habe, um diese Datei auch zu konfigurieren, sonst habe ich Probleme mit ISQL/ODBC-Verbindungen. – nrussell

Antwort

0

Eine saubere Neuinstallation von meinem Mac scheinen die Bibliothek Probleme gelöst zu haben. Ich folge dem Guide genau nochmal und es hat funktioniert.

+0

gibt es ein ernstes Problem mit RODBC und Mac Sierra. Kann es nicht zur Arbeit, egal was. Ich hoffe, eine saubere Neuinstallation ist nicht das, was es braucht – user798719

+0

@ user798719, haben Sie Glück gehabt, ohne Neuinstallation? Ich habe hier auch eine Frage gestellt: http://StackOverflow.com/Questions/40823458/odbc-data-source-name-not-found-and-no-default-driver-specified – Bobby

+0

Ja, es ist nicht unbedingt Sierra. Benutze die ältere Version von freetds 091 oder was auch immer die Versionsnummer ist. Das hat das Problem behoben. – user798719