我在OSX上设置了Go,FreeTDS和unixODBC。我按照https://code.google.com/p/odbc/wiki/InstallingUnixODBCOnOSX上的说明操作,当我尝试运行测试时,我得到:
[ODBC Driver Manager] Data source name not found and no default driver specified
该端口安装unixODBC 和 FreeTDS,那么解决此问题需要什么?
答案 0 :(得分:4)
在我看来,最好的方法是使用DSN-less configuration - 编码连接到ODBC连接字符串中的服务器实例所需的完整信息。这种方法的优点是它需要客户端计算机的零配置,而不是确保正确安装FreeTDS
ODBC
驱动程序。
请注意在此类设置中适用于FreeTDS
的两个注意事项:
Port
连接字符串键。如果您要连接到Microsoft®SQLServer™,通常为1433
。FreeTDS有一个极低的默认TDS protocol版本 - 类似于5.0。
要覆盖此选项,您必须使用TDS_Version
连接字符串键。要么将其设置为auto
,要么设置为合理的值:
看起来7.2是FreeTDS
目前支持的最大TDS协议版本,但实际上7.2足以处理典型数据类型,包括varbinary(max)
。
答案 1 :(得分:2)
在Linux中你使用odbcinst来注册数据源,但你需要知道libtdsodbc.so在哪里
在我的Mac上,它被放入
/opt/local/lib/libtdsodbc.so
如果这不是您安装的位置,请执行此操作以查找其位置:
sudo find / -name "libtdsodbc.so"
然后在里面创建一个名为“tds.driver.template”的文件:
[FreeTDS]
Description = Open source FreeTDS Driver
Driver =/opt/local/lib/libtdsodbc.so
然后运行
sudo odbcinst -i -d -f tds.driver.template
答案 2 :(得分:0)
我遇到了这个问题,我认为修复它的是设置 ODBCSYSINI
和 ODBCINI
环境变量(归功于 this 答案)。对于 Mac,您需要将它们设置为以下值:
export ODBCSYSINI=/Library/ODBC
export ODBCINI=/Library/ODBC/odbc.ini