我正在尝试使用pyodbc连接到数据库并遇到以下错误,有人可以建议如何克服以下错误吗?
使用以下命令安装pyodbc
sudo apt-get install unixodbc-dev
pip install pyodbc
代码: -
#!/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"
错误: -
Traceback (most recent call last):
File "mysql.py", line 7, in <module>
cnx = pyodbc.connect("DRIVER={SQL Server};SERVER="+server_name+";DATABASE="+database_name)
答案 0 :(得分:1)
您应该从setting up and configuring FreeTDS开始。以下是我的文件中的示例配置,但我确定其他变体也可以使用。一个区别是我使用Django,但下面的结果最终仍然有效,但是使用SQL身份验证比使用Windows身份验证更好。
来自/etc/freetds/freetds.conf
(如果DNS未对服务器名称有效,请使用服务器的IP)。
# A typical Microsoft server
[MyServer]
host = 10.0.0.10\path
port = 1433
tds version = 7.0
来自/etc/odbcinst.ini
[FreeTDS]
Description = FreeTDS
Driver = /usr/lib/x86_64-linux-gnu/odbc/libtdsodbc.s
来自/etc/odbc.ini
[MyServer]
Description = "Some Description"
Driver = FreeTDS
ServerName = servername\path
Server = servername
Port = 1433
Database = DBNAME
然后这个命令将我连接到数据库。
tsql -S MyServer -U username@servername -P password