Instalé freetds y unixodbc a través de Homebrew, más o menos siguiendo las instrucciones que se encuentran en este servidor sql y odbc en Mac enlace.
Me aparté de esas direcciones cuando llegó a la ubicación del controlador y la configuración, en lugar de utilizar
Driver = /usr/local/Cellar/unixodbc/2.3.2_1/lib/libodbc.dylib
Setup = /usr/local/Cellar/unixodbc/2.3.2_1/lib/libodbc.dylib
en el archivo /usr/local/Cellar/unixodbc/2.3.2_1/etc/odbcinst.ini
ya que aquí es donde encontré mis bibliotecas dinámicas ODBC.
(También hice esos cambios porque las Mac no usan archivos * .so, esa es una nomenclatura * nix, lo que admito me puso nervioso al seguir esas instrucciones, pero parecían coincidir con los consejos de otros sitios, como < a href="http://hiltmon.com/blog/2013/09/18/setup-odbc-for-r-on-os-x/"> éste para instalar RODBC en Mac y estos < a href="http://www.savelono.com/linux/how-to-configure-linux-odbc-connections-for-ms-sql.html"> excelentes instrucciones para * nix .)
He intentado ejecutarlo, he realizado cambios, he realizado un seguimiento a través de dtruss , específicamente haciendo este comando:
dtruss isql -v odbc-test <my_user_id> <associated_password> 2> junk_to_sift_through.txt
No importa cómo ajuste las cosas, sin romperlas activamente, recibo el siguiente error:
[IM004][unixODBC][Driver Manager]Driver's SQLAllocHandle on SQL_HANDLE_HENV failed
[ISQL]ERROR: Could not SQLConnect
El archivo junk_to_sift_through.txt
generado con errores es bastante grande, pero debajo está el final de la misma, que debería debe tener el error oculto en algún lugar. Pero parece que no puedo resolverlo.
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
¿Alguna idea por ahí?
¡Gracias!