I am trying to connect to a datbase using pyodbc and running into following error,can anyone suggest how to overcome below error?
Installed pyodbc using the following commands
sudo apt-get install unixodbc-dev pip install pyodbc
Code:-
#!/usr/bin/python import pyodbc server_name='odsdb.qualcomm.com' database_name='ODS' #cnx = pyodbc.connect("SERVER="+server_name+";DATABASE="+database_name) cnx = pyodbc.connect("DRIVER={SQL Server};SERVER="+server_name+";DATABASE="+database_name) db_cursor = cnx.cursor() print "List of tables in DB" for row in db_cursor.tables(): print row.table_name print "\n"
Error:-
Traceback (most recent call last): File "mysql.py", line 7, in <module> cnx = pyodbc.connect("DRIVER={SQL Server};SERVER="+server_name+";DATABASE="+database_name)
You should start by setting up and configuring FreeTDS. Here is a sample configurations from my files, but I'm sure other variants will work also. One difference is that I'm using Django, but the result below still worked eventually, but it works much better with SQL authentication than with Windows Authentication.
From /etc/freetds/freetds.conf
(use the IP of the server if DNS is not active for the server name).
# A typical Microsoft server [MyServer] host = 10.0.0.10\path port = 1433 tds version = 7.0
From /etc/odbcinst.ini
[FreeTDS] Description = FreeTDS Driver = /usr/lib/x86_64-linux-gnu/odbc/libtdsodbc.s
From /etc/odbc.ini
[MyServer] Description = "Some Description" Driver = FreeTDS ServerName = servername\path Server = servername Port = 1433 Database = DBNAME
Then this command connects me to the database.
tsql -S MyServer -U username@servername -P password