pyodbc.InterfaceError: ('IM002', '[IM002] [Microsoft][ODBC 驱动程序管理器] 未发现数据源名称并且未指定默认驱动程序 (0) (SQLDriverConnect)')

发布时间 2023-06-14 16:25:19作者: shaomine

用python 连接sql server数据库,在本机测试正常,等完了部署到另外一个机器时,报pyodbc.InterfaceError: ('IM002', '[IM002] [Microsoft][ODBC 驱动程序管理器] 未发现数据源名称并且未指定默认驱动程序 (0) (SQLDriverConnect)')

通过在网络查询大概都是需要ODBC Data Sources (32-bit)或者ODBC 数据源(64 位) 安装驱动程序,按照网络上提示安装驱动后还是提示同样的错误

后来通过检查驱动程序的版本号

大版本一致,小版本有差异

原来链接数据库的字符串

        self.conn = pyodbc.connect(DRIVER='{SQL Server Native Client 10.0}', SERVER=self.server, DATABASE=self.database, UID=self.userid,
                                   PWD=self.password, charset="UTF-8")

后来改为

    self.conn = pyodbc.connect(DRIVER='{SQL Server}', SERVER=self.server, DATABASE=self.database, UID=self.userid,
                                   PWD=self.password, charset="UTF-8")

问题就就解决了