【发布时间】:2016-06-29 16:31:36
【问题描述】:
我只有对 SQL Server 数据库的只读访问权限。使用pymssql连接数据库时如何传递连接参数“ApplicationIntent=ReadOnly”?如果pymssql不支持,有没有其他python库可以用?
【问题讨论】:
标签: python sql-server pymssql
我只有对 SQL Server 数据库的只读访问权限。使用pymssql连接数据库时如何传递连接参数“ApplicationIntent=ReadOnly”?如果pymssql不支持,有没有其他python库可以用?
【问题讨论】:
标签: python sql-server pymssql
使用 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')
【讨论】:
pyodbc 有一个只读参数。例如:
import pyodbc
conn = pyodbc.connect(driver='{SQL Server}', host=Server, database=Database,
trusted_connection='yes', user='', password='', readonly = True)
【讨论】:
因为 pymssql 依赖于 FreeTDS 您确实需要解决 FreeTDS 使用的 MS-SQL 服务器的连接参数
因为 ApplicationIntent 列在 freetds user guide 作为一个选项,你应该能够使用它。
【讨论】: