使用pymssql时如何传递连接参数"ApplicationIntent=ReadOnly"

How to pass connection parameter "ApplicationIntent=ReadOnly" when using pymssql

我只有 SQL 服务器数据库的只读权限。使用pymssql连接数据库时如何传递连接参数"ApplicationIntent=ReadOnly"?如果 pymssql 不支持,是否还有其他 python 库可供我使用?

因为pymssql依赖FreeTDS 您确实需要将连接参数寻址到 FreeTDS

使用的 MS-SQL 服务器

因为 ApplicationIntent 作为选项列在 freetds user guide 中,您应该可以使用它。

pyodbc 有一个只读参数。例如:

import pyodbc
conn = pyodbc.connect(driver='{SQL Server}', host=Server, database=Database,
                  trusted_connection='yes', user='', password='', readonly = True)

使用 pymssql 配置只读连接意图的唯一方法似乎是配置它所基于的 freetds,但它对我没有用。我不得不使用 pyodbc 而不是 pymssql

from pyodbc import connect
conn = connect(
    'DRIVER={ODBC Driver 17 for SQL Server};SERVER=' + host + ';PORT=' + port + ';DATABASE='
    + database + ';UID=' + user + ';PWD=' + password + ';ApplicationIntent=ReadOnly')