使用Python连接到Azure SQL

Kyl*_*fat 2 python azure azure-sql-database

我试图通过MySQLdb与Python连接到Windows Azure中托管的SQL数据库.

我一直收到错误mysql_exceptions.OperationalError:(2001,'Bad connection string.')

通过.NET(vb,C#)连接时,此信息有效,但我绝对没有运气.

对于下面我使用了我的服务器名称来自azure然后.database.windows.net这是正确的方法吗?

这是我的代码:

#!/usr/bin/python
import MySQLdb

conn = MySQLdb.connect(host="<servername>.database.windows.net", user="myUsername", passwd="myPassword", db="db_name")

cursor = conn.cursor()
Run Code Online (Sandbox Code Playgroud)

我也尝试过使用pyodbc和FreeTDS,但没有运气.

mee*_*dev 10

@Kyle Moffat,你在做什么操作系统?以下是如何在Linux和Windows上使用pyodbc:https://msdn.microsoft.com/en-us/library/mt763261(v = sql.1).aspx

视窗:

Linux的:

安装ODBC驱动程序和pyodbc后,您可以使用此Python示例连接到Azure SQL DB

import pyodbc 
server = 'tcp:myserver.database.windows.net' 
database = 'mydb' 
username = 'myusername' 
password = 'mypassword' 
cnxn = pyodbc.connect('DRIVER={ODBC Driver 13 for SQL Server};SERVER='+server+';DATABASE='+database+';UID='+username+';PWD='+ password)
cursor = cnxn.cursor()
cursor.execute("SELECT @@version;") 
row = cursor.fetchone() 
while row: 
    print row[0] 
    row = cursor.fetchone()
Run Code Online (Sandbox Code Playgroud)

如果您无法安装ODBC驱动程序,您还可以尝试使用pymssql + FreeTDS

sudo apt-get install python
sudo apt-get --assume-yes install freetds-dev freetds-bin
sudo apt-get --assume-yes install python-dev python-pip
sudo pip install pymssql==2.1.1
Run Code Online (Sandbox Code Playgroud)

按照这些步骤操作后,可以使用以下代码示例进行连接:https: //msdn.microsoft.com/en-us/library/mt715796(v = sql.1).aspx