我正在使用Ubuntu系统,我想连接到远程数据库SQL Express。
我使用pyodbc尝试使用以下步骤。
sudo apt-get install python-pyodbc
import pyodbc
cnxn = pyodbc.connect(DRIVER='{SQL Server}', SERVER='REMOTE_SERVER_IP', DATABASE='REMOTE_SERVER_DB_NAME', UID='redbytes', PWD='REMOTE_SERVER_DB_PASSWORD')
cursor = cnxn.cursor()
但我面临的问题如下:
pyodbc.Error: ('IM002', '[IM002] [unixODBC][Driver Manager]Data source name not found, and no default driver specified (0) (SQLDriverConnect)')
pyodbc只是这个难题的一部分。唯一的工作就是允许Python应用程序与ODBC子系统(“驱动程序管理器”)进行通信。该层与ODBC驱动程序通信,而ODBC驱动程序又与数据库通信。
为了在Ubuntu上使用Python_3 + pyodbc + unixODBC(ODBC驱动程序管理器)+ FreeTDS(ODBC驱动程序),基本步骤是:
sudo su
apt install python3-pip unixodbc-dev tdsodbc
printf "\n[FreeTDS]\nDriver = /usr/lib/x86_64-linux-gnu/odbc/libtdsodbc.so\n" >> /etc/odbcinst.ini
exit
pip3 install --user pyodbc
然后在ODBC连接字符串中使用DRIVER=FreeTDS
(以及SERVER=
和其他必需参数)。