<p>如果在URL中没有指定,<code>mssql+pyodbc</code>方言的默认驱动程序将是“SQL Server”[1]。这意味着您需要在/etc/unixODBC/odbcinst.ini中有这样一个部分:</p>
<pre><code>[SQL Server]
Driver=/path/to/library.so
</code></pre>
<p>它在Windows上“自动”工作,因为如果打开Administrator Tools</em>->;<em>数据源(ODBC)</em>,您很可能会在<em>Drivers</em>选项卡下找到一个名为“SQL Server”的条目。</p>
<p>在Linux上,您可以使用FreeTDS驱动程序,也可以使用Microsoft的官方驱动程序(我建议您这样做)。</p>
<p>安装驱动程序后,在/etc/unixODBC/odbcinst.ini中应该有类似的内容:</p>
<pre><code>[FreeTDS]
Driver=/usr/lib/libtdsodbc.so
Threading=1
[ODBC Driver 11 for SQL Server]
Description=Microsoft ODBC Driver 11 for SQL Server
Driver=/opt/microsoft/msodbcsql/lib64/libmsodbcsql-11.0.so.2270.0
Threading=1
UsageCount=1
</code></pre>
<p>然后,您只需向URL添加一个<code>driver</code>查询字符串参数,其值与节名匹配。</p>
<p>具有FreeTDS的示例URL:</p>
<pre><code>mssql+pyodbc://user:pass@ip_address/database_name?driver=FreeTDS
</code></pre>
<p>带有官方驱动程序的示例URL:</p>
<pre><code>mssql+pyodbc://user:pass@ip_address/database_name?driver=ODBC+Driver+11+for+SQL+Server
</code></pre>
<p>[1]<a href="https://bitbucket.org/sqlalchemy/sqlalchemy/src/aa3a8f016f3e4396d125b18b0510abdf72aa8af2/lib/sqlalchemy/dialects/mssql/pyodbc.py?at=default#cl-236">https://bitbucket.org/sqlalchemy/sqlalchemy/src/aa3a8f016f3e4396d125b18b0510abdf72aa8af2/lib/sqlalchemy/dialects/mssql/pyodbc.py?at=default#cl-236</a></p>