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

时间:2016-06-29 16:31:37

标签: python sql-server pymssql

我只能只读访问SQL Server数据库。如何传递连接参数" ApplicationIntent = ReadOnly"什么时候使用pymssql连接数据库?如果pymssql不支持它,我可以使用其他任何python库吗?

3 个答案:

答案 0 :(得分:0)

使用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')

答案 1 :(得分:-1)

因为pymssql依赖于FreeTDS 您确实需要解决FreeTDS使用的MS-SQL服务器的连接参数

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

答案 2 :(得分:-1)

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

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