Ho installato freetds e unixodbc tramite Homebrew, seguendo più o meno le istruzioni trovate in questo sql server e odbc su Mac collegamento.
Mi sono allontanato da quelle direzioni quando si trattava del percorso per il driver e l'installazione, utilizzando invece
Driver = /usr/local/Cellar/unixodbc/2.3.2_1/lib/libodbc.dylib
Setup = /usr/local/Cellar/unixodbc/2.3.2_1/lib/libodbc.dylib
nel file /usr/local/Cellar/unixodbc/2.3.2_1/etc/odbcinst.ini
poiché è qui che ho trovato le mie librerie dinamiche ODBC.
(Ho anche apportato queste modifiche perché i Mac non usano i file * .so, questa è una nomenclatura * nix, che ammetto mi ha reso nervoso nel seguire quelle indicazioni, ma sembravano corrispondere ai consigli di altri siti, come < a href="http://hiltmon.com/blog/2013/09/18/setup-odbc-for-r-on-os-x/"> questo per l'installazione di RODBC su Mac e questi < a href="http://www.savelono.com/linux/how-to-configure-linux-odbc-connections-for-ms-sql.html"> ottime istruzioni per * nix .)
Ho provato a eseguirlo, ho apportato delle modifiche, ho fatto una traccia tramite dtruss , in particolare facendo questo comando:
dtruss isql -v odbc-test <my_user_id> <associated_password> 2> junk_to_sift_through.txt
Non importa come aggiusto le cose - senza interromperle attivamente - continuo a ricevere il seguente errore:
[IM004][unixODBC][Driver Manager]Driver's SQLAllocHandle on SQL_HANDLE_HENV failed
[ISQL]ERROR: Could not SQLConnect
Il file junk_to_sift_through.txt
generato con errori è abbastanza grande, ma sotto c'è il lato finale di esso, che dovrebbe avere l'errore nascosto da qualche parte in esso. Ma non riesco a capirlo.
open_nocancel("/usr/local/Cellar/unixodbc/2.3.2_1/etc/odbcinst.iniDriver = /usr/local/Cellar/unixodbc/2.3.2_1/lib/libodbc.dylib
Setup = /usr/local/Cellar/unixodbc/2.3.2_1/lib/libodbc.dylib
", 0x0, 0x1B6) = 3 0
fstat64(0x3, 0x7FFF53378CB8, 0x1B6) = 0 0
read_nocancel(0x3, "[ms-sql]\nDescription = TDS connection\nDriver = /usr/local/Cellar/unixodbc/2.3.2_1/lib/libodbc.2.dylib\nUsageCount = 1\nFileUsage = 1\nTrace = Yes\ndtruss isql -v odbc-test <my_user_id> <associated_password> 2> junk_to_sift_through.txt
", 0x1000) = 143 0
read_nocancel(0x3, "[IM004][unixODBC][Driver Manager]Driver's SQLAllocHandle on SQL_HANDLE_HENV failed
[ISQL]ERROR: Could not SQLConnect
", 0x1000) = 0 0
close_nocancel(0x3) = 0 0
open_nocancel("/Users/mike/.odbcinst.iniopen_nocancel("/usr/local/Cellar/unixodbc/2.3.2_1/etc/odbcinst.ini%pre%", 0x0, 0x1B6) = 3 0
fstat64(0x3, 0x7FFF53378CB8, 0x1B6) = 0 0
read_nocancel(0x3, "[ms-sql]\nDescription = TDS connection\nDriver = /usr/local/Cellar/unixodbc/2.3.2_1/lib/libodbc.2.dylib\nUsageCount = 1\nFileUsage = 1\nTrace = Yes\n%pre%", 0x1000) = 143 0
read_nocancel(0x3, "%pre%", 0x1000) = 0 0
close_nocancel(0x3) = 0 0
open_nocancel("/Users/mike/.odbcinst.ini%pre%", 0x0, 0x1B6) = 3 0
fstat64(0x3, 0x7FFF53378CB8, 0x1B6) = 0 0
read_nocancel(0x3, "[ms-sql]\nDescription = TDS connection\nDriver = /usr/local/Cellar/unixodbc/2.3.2_1/lib/libodbc.2.dylib\nUsageCount = 1\nFileUsage = 1\nTrace = Yes\n%pre%", 0x1000) = 143 0
read_nocancel(0x3, "%pre%", 0x1000) = 0 0
close_nocancel(0x3) = 0 0
fstat64(0x1, 0x7FFF5337CD08, 0x1000) = 0 0
write_nocancel(0x2, "[ISQL]ERROR: Could not SQLConnect\n%pre%", 0x22) = 34 0
write_nocancel(0x1, "[IM004][unixODBC][Driver Manager]Driver's SQLAllocHandle on SQL_HANDLE_HENV failed\n%pre%", 0x53) = 83 0
", 0x0, 0x1B6) = 3 0
fstat64(0x3, 0x7FFF53378CB8, 0x1B6) = 0 0
read_nocancel(0x3, "[ms-sql]\nDescription = TDS connection\nDriver = /usr/local/Cellar/unixodbc/2.3.2_1/lib/libodbc.2.dylib\nUsageCount = 1\nFileUsage = 1\nTrace = Yes\n%pre%", 0x1000) = 143 0
read_nocancel(0x3, "%pre%", 0x1000) = 0 0
close_nocancel(0x3) = 0 0
fstat64(0x1, 0x7FFF5337CD08, 0x1000) = 0 0
write_nocancel(0x2, "[ISQL]ERROR: Could not SQLConnect\n%pre%", 0x22) = 34 0
write_nocancel(0x1, "[IM004][unixODBC][Driver Manager]Driver's SQLAllocHandle on SQL_HANDLE_HENV failed\n%pre%", 0x53) = 83 0
Qualche idea là fuori?
Grazie!