是什么导致pyodbc连接到一个SQL Server,而不是另一个?

问题描述

我正在尝试使用pyodbc连接到sql Server以查询某些表以进行工作。我能够连接到其中一台服务器并运行SQL查询,但是相同的代码不适用于其他服务器。我收到的错误消息是这样的:

Error: ('008001','[08001] [Microsoft][ODBC sql Server Driver][dbnETLIB]
sql Server does not exist or access denied. (17) (sqlDriverConnect)')

这是我正在使用的代码

import pyodbc
import pandas as pd

conn = pyodbc.connect('Driver={sql Server};'
                      'Server=servername;'
                      'Database=databasename;'
                      'Trusted_Connection=yes;')

[rest of code]

代码适用于一台服务器,但是当我将服务器和数据库名称更改为另一台服务器时,会收到错误消息(服务器/数据库名称中没有拼写错误)。我可以通过sql访问此服务器。另外,我可以使用Excel VBA访问该服务器并查询/更新其表(即使它无法在Python中连接)。

根据我的研究,我可能不完全理解很多可能的问题。我试图在代码中更改驱动程序名称,但失败了。由于此代码适用于工作,因此具有安全权限,这使我无法尝试某些解决方案。

什么可能导致此问题?如果有人能够向我指出正确的方向,那么如果我自己无法解决问题,那将帮助我向IT团队提出更好的问题。

(我正在将Microsoft sql Server Management Studio 17和Python 3.6与Spyder一起使用。)

解决方法

尝试使用此驱动程序:

_schedule.Remove(key);
_schedule.Add(key,"value");