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

时间:2014-10-16 10:14:31

标签: python sql azure pymssql

我在Azure中有3个dbs,我尝试连接到其中一个。

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"。

请建议。

1 个答案:

答案 0 :(得分:1)

您的问题是pymssql的版本。 pip上的最新版本为2.1.0,但支持azure的版本为2.1.1。 因此,如果您从源代码安装它,它将工作。另外,请确保您有freeTDS> 0.91