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

时间:2016-08-23 05:54:56

标签: python sql-server ubuntu-14.04 pyodbc

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

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

  1. sudo apt-get install python-pyodbc
  2. Python代码如下:
  3.     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)')
    

1 个答案:

答案 0 :(得分: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=