pymssql.connect() 似乎忽略了数据库字符串参数
Posted
技术标签:
【中文标题】pymssql.connect() 似乎忽略了数据库字符串参数【英文标题】:pymssql.connect() seems to ignore database string argument 【发布时间】:2014-10-16 10:14:30 【问题描述】:我在 Azure 中有 3 个数据库,我尝试连接到其中一个。
conn = pymssql.connect(server='hostname.database.windows.net',
user='username@hostname',
password='*****',
database='my_db',
timeout=0,
login_timeout=60,
charset='UTF-8',
as_dict=False,
host='',
port='1433')
cursor = conn.cursor()
cursor.execute('select db_name()') #to get the name of my db (which should be "my_db")
result = cursor.fetchone()
print result
但我得到的是“master”,它是默认的 Azure 数据库。这不应该发生,因为我已经为“my_db”指定了“databse”字符串参数。
请指教。
【问题讨论】:
【参考方案1】:您的问题是您的pymssql
版本。
pip
上的最新版本是2.1.0
,但支持azure
的版本是2.1.1。
因此,如果您从源代码安装它,它将起作用。另外,确保你有freeTDS
> 0.91
【讨论】:
您可能想详细说明为什么freeTDS
是附加要求。否则,欢迎来到 SO
pymssql 是freetds 的python 接口。以上是关于pymssql.connect() 似乎忽略了数据库字符串参数的主要内容,如果未能解决你的问题,请参考以下文章
调用 pymssql.connect 时出现“类型‘NoneType’不可迭代”错误
pymssql.connect 错误 - 意外的关键字参数“服务器”
pymssql.connect() 错误:“自适应服务器不可用或不存在”
python - 使用 python 和 pymssql 获取一系列行号之间的行