Connecting to Azure SQL with Python
Question: I am trying to connect to a SQL Database hosted in Windows Azure through
MySQLdb with Python.

I keep getting an error mysql_exceptions.OperationalError: (2001, 'Bad
connection string.')

This information works when connecting through .NET (vb, C#) but I am
definitely not having any luck here.

For below I used my server's name from azure then .database.windows.net Is
this the correct way to go about this?

Here is my code:

    
    
    #!/usr/bin/python
    import MySQLdb
    
    conn = MySQLdb.connect(host="<servername>.database.windows.net", user="myUsername", passwd="myPassword", db="db_name")
    
    cursor = conn.cursor()
    

I have also tried using pyodbc with FreeTDS with no luck.


Answer: @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:**

  * Download and install Python
  * Install the Microsoft ODBC Driver 11 or 13: 

    * v13: <https://www.microsoft.com/en-us/download/details.aspx?id=50420>
    * v11: <https://www.microsoft.com/en-us/download/details.aspx?id=36434>
  * Open cmd.exe as an administrator

  * Install pyodbc using pip - Python package manager
    
        cd C:\Python27\Scripts>  
    pip install pyodbc
    

**Linux:**

  * 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  
    

  * 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 
    

  * Install pyodbc
    
        sudo -H pip install pyodbc
    

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()
    

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
    

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>

