使用Python连接到Azure SQL [英] Connecting to Azure SQL with Python
问题描述
我正在尝试使用Python通过MySQLdb连接到Windows Azure中托管的SQL数据库.
I am trying to connect to a SQL Database hosted in Windows Azure through MySQLdb with Python.
我一直收到错误mysql_exceptions.OperationalError:(2001,'Bad connection string.')
I keep getting an error mysql_exceptions.OperationalError: (2001, 'Bad connection string.')
通过.NET(vb,C#)连接时,此信息有效,但是我在这里绝对没有运气.
This information works when connecting through .NET (vb, C#) but I am definitely not having any luck here.
在下面,我先使用azure的服务器名称,然后使用.database.windows.net,这是解决此问题的正确方法吗?
For below I used my server's name from azure then .database.windows.net Is this the correct way to go about this?
这是我的代码:
#!/usr/bin/python
import MySQLdb
conn = MySQLdb.connect(host="<servername>.database.windows.net", user="myUsername", passwd="myPassword", db="db_name")
cursor = conn.cursor()
我也尝试将pyodbc与FreeTDS结合使用,但没有运气.
I have also tried using pyodbc with FreeTDS with no luck.
推荐答案
@Kyle Moffat,您使用的是什么操作系统?这是在Linux和Windows上如何使用pyodbc的方法: https://msdn.microsoft.com/zh-我们/library/mt763261(v=sql.1).aspx
@Kyle Moffat, what OS are you on? Here is how you can use pyodbc on Linux and Windows: https://msdn.microsoft.com/en-us/library/mt763261(v=sql.1).aspx
Windows:
- 下载并安装Python
-
安装Microsoft ODBC驱动程序11或13:
- Download and install Python
Install the Microsoft ODBC Driver 11 or 13:
- v13: https://www.microsoft.com/zh-cn/download/details.aspx?id = 50420
- v11: https://www.microsoft.com/zh-cn/download/details.aspx?id = 36434
- v13: https://www.microsoft.com/en-us/download/details.aspx?id=50420
- v11: https://www.microsoft.com/en-us/download/details.aspx?id=36434
以管理员身份打开cmd.exe
Open cmd.exe as an administrator
使用pip安装pyodbc-Python程序包管理器
Install pyodbc using pip - Python package manager
cd C:\Python27\Scripts>
pip install pyodbc
Linux:
-
打开终端 为Ubuntu 15.04安装适用于Linux的Microsoft ODBC驱动程序13 +
Open terminal Install Microsoft ODBC Driver 13 for Linux For Ubuntu 15.04 +
sudo su
wget https://gallery.technet.microsoft.com/ODBC-Driver-13-for-Ubuntu-b87369f0/file/154097/2/installodbc.sh
sh installodbc.sh
对于RedHat 6,7
For RedHat 6,7
sudo su
wget https://gallery.technet.microsoft.com/ODBC-Driver-13-for-SQL-8d067754/file/153653/4/install.sh
sh install.sh
安装pyodbc
Install pyodbc
sudo -H pip install pyodbc
一旦安装了ODBC驱动程序和pyodbc,就可以使用此Python示例连接到Azure SQL DB
Once you install the ODBC driver and pyodbc you can use this Python sample to connect to 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()
如果您无法安装ODBC驱动程序,也可以尝试pymssql + FreeTDS
If you are not able to install the ODBC Driver you can also try 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
按照这些步骤进行操作之后,就可以使用以下代码示例进行连接: https://msdn.microsoft.com/zh-我们/library/mt715796(v=sql.1).aspx
Once you follow these steps, you can use the following code sample to connect: https://msdn.microsoft.com/en-us/library/mt715796(v=sql.1).aspx
这篇关于使用Python连接到Azure SQL的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!