pymssql.connect() 似乎忽略数据库字符串参数

0 投票
1 回答
716 浏览
提问于 2025-04-27 22:05

我在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。

撰写回答