【问题标题】:Run Python script with MSSQL-database connection on Ubuntu Server在 Ubuntu 服务器上运行带有 MSSQL 数据库连接的 Python 脚本
【发布时间】:2016-11-22 15:23:41
【问题描述】:

我正在尝试运行我在 Ubuntu 服务器上编写的脚本。

我在脚本中使用 pypyodbc 连接到服务器上的数据库,它在 Windows 上运行良好。

当我尝试在我的 Ubuntu 服务器上运行它时,我收到以下错误:

pypyodbc.Error: (u'IM002', u'[IM002] [unixODBC][Driver Manager]Data source name not found, and no default driver specified')

这是我的连接字符串:

DRIVER = "DRIVER={SQL Server};"
SERVER = "SERVER=servername;"
UID = "UID=userid;"
PWD = "PWD=password;"
DATABASE = "DATABASE=database_name;"

connection = pypyodbc.connect(DRIVER + SERVER + DATABASE + UID + PWD)

我做错了什么?有什么想法吗?

最好的问候。

【问题讨论】:

  • 向我们展示您是如何尝试建立连接的,这样我们就有机会找出其中可能出现的问题。
  • 我编辑了我的原始帖子,但这里是连接字符串:DRIVER = "DRIVER={SQL Server};" SERVER = "SERVER=servername;" UID = "UID=userid;" PWD = "PWD=password;" DATABASE = "DATABASE=database_name;" connection = pypyodbc.connect(DRIVER + SERVER + DATABASE + UID + PWD) 似乎无法在此评论中获得正确的格式。

标签: python linux ubuntu odbc pypyodbc


【解决方案1】:

您的/etc/odbcinst.ini 文件中可能没有[SQL Server] 部分。 你应该有这样的东西:

[SQL Server]
Driver=<driver so file name>
<other parameters>

部分名称必须与您在 python 程序中设置 DRIVER 时使用的名称相同。您应该为此选择合适的驱动程序,例如 freetds。 检查http://www.unixodbc.org/doc/FreeTDS.html

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-04-20
    • 1970-01-01
    • 2016-11-28
    • 2023-02-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多