我已经跟随these instructions(必要时交换虚拟变量)并且无法通过运行isql的步骤。 FreeTDS驱动程序似乎正在工作(虽然它没有获得CLI它只是向上计数),但每次使用isql步骤我都会得到相同的错误:
[IM002][unixODBC][Driver Manager]Data source name not found, and no default driver specified
[ISQL]ERROR: Could not SQLConnect
一位同事按照说明操作。我在我的个人计算机上尝试这个,而且我的安装(使用Anaconda和Homebrew)相当傲慢,这可能是一个安装问题而且有些东西没有被链接?
我最强烈的预感是isql
未将MSSQL_DSN
与配置
答案 0 :(得分:0)
您可以尝试以下步骤:
按照https://github.com/mkleehammer/pyodbc/wiki/Connecting-to-SQL-Server-from-Mac-OSX
中的说明进行操作现在,如果isql / osql不起作用(假设tsql正常工作),则几乎没有其他步骤和黑客攻击。 下面列出的每个步骤都是调试osql错误消息的结果。
在一个或多个步骤中,您可能需要其他root权限。必要时授予它们并在实现pyodbc连接后撤销。
文件odbc.ini和odbcinst.ini也应该出现在/ Users //等中,除了官方doc指定的位置。
在/(根目录)中也应该有odbcinst.ini的副本。
文件freetds.conf应该出现在/ usr / local / etc目录中。
如果您使用的是SQL Server 2014及更高版本,则应将tds版本设置为7.4。不要将tds版本设置为8,因为它只是7.1的别名。
检查文件/usr/local/lib/libtdsodbc.so是否具有执行权限。如果没有,请通过chmod授予766/777(在最坏的情况下)特权。这一步对于运行osql / isql以及从python进行pyodbc连接至关重要。
完成这些步骤后,请重新检查odbc.ini,odbcinst.ini和freetds.conf的内容,并确认它们符合文档(https://github.com/mkleehammer/pyodbc/wiki/Connecting-to-SQL-Server-from-Mac-OSX)
运行isql / osql。
如果现在一切正常,你们都被设置为从python连接到SQLServer。下面的代码片段显示了基本的连接过程。
导入pyodbc
connection = pyodbc.connect(' DSN = MYMSSQL; UID =; PWD =) cursor = connection.cursor() result = cursor.execute("选择@@ VERSION")。fetchall() 打印(结果) cursor.close() connection.close()时