pymssql.connect() 似乎忽略数据库字符串参数
我在Azure上有三个数据库,我试着连接其中一个。
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”数据库。这不应该发生,因为我已经把“database”这个参数设置成了“my_db”。
请给我一些建议。
1 个回答
1
你的问题出在你使用的 pymssql
版本上。现在在 pip
上最新的版本是 2.1.0
,但是支持 azure
的版本是 2.1.1
。所以,如果你从源代码安装它,就可以正常工作。另外,确保你有 freeTDS
的版本大于 0.91。