我试图使用pyodbc连接到数据库并遇到以下错误,任何人都可以建议如何克服以下错误?
使用以下命令安装pyodbc
sudo apt-get install unixodbc-dev
pip install pyodbc
Run Code Online (Sandbox Code Playgroud)
码:-
#!/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"
Run Code Online (Sandbox Code Playgroud)
错误:-
Traceback (most recent call last):
File "mysql.py", line 7, in <module>
cnx = pyodbc.connect("DRIVER={SQL Server};SERVER="+server_name+";DATABASE="+database_name)
Run Code Online (Sandbox Code Playgroud)
您应该从设置和配置 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
Run Code Online (Sandbox Code Playgroud)
从/etc/odbcinst.ini
[FreeTDS]
Description = FreeTDS
Driver = /usr/lib/x86_64-linux-gnu/odbc/libtdsodbc.s
Run Code Online (Sandbox Code Playgroud)
从/etc/odbc.ini
[MyServer]
Description = "Some Description"
Driver = FreeTDS
ServerName = servername\path
Server = servername
Port = 1433
Database = DBNAME
Run Code Online (Sandbox Code Playgroud)
然后这个命令将我连接到数据库。
tsql -S MyServer -U username@servername -P password
| 归档时间: |
|
| 查看次数: |
13928 次 |
| 最近记录: |