从Ubuntu连接到远程SQL Server Express数据库时出错(在Windows上)

问题描述 投票:1回答:1

我正在使用Ubuntu系统,我想连接到远程数据库SQL Express。

我使用pyodbc尝试使用以下步骤。

  1. sudo apt-get install python-pyodbc
  2. Python代码如下:

    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)')
python sql-server ubuntu-14.04 pyodbc
1个回答
0
投票

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=和其他必需参数)。

© www.soinside.com 2019 - 2024. All rights reserved.