Python 使用pyodbc从MSSQL获取数据时为什么会出现此错误?
我正在使用pyodbc从MSSQL检索数据,这是我正在使用的代码:Python 使用pyodbc从MSSQL获取数据时为什么会出现此错误?,python,sql-server,pyodbc,Python,Sql Server,Pyodbc,我正在使用pyodbc从MSSQL检索数据,这是我正在使用的代码: import pyodbc server = 'xxxxxxxx\DEV' database = 'SandBox' username = 'zzzzzzz' password = 'xxxxxxx' driver = '{SQL Server}' cnxn = pyodbc.connect('DRIVER='+driver+';PORT=4853;SERVER='+server+';PORT=4853;DATABASE='+
import pyodbc
server = 'xxxxxxxx\DEV'
database = 'SandBox'
username = 'zzzzzzz'
password = 'xxxxxxx'
driver = '{SQL Server}'
cnxn = pyodbc.connect('DRIVER='+driver+';PORT=4853;SERVER='+server+';PORT=4853;DATABASE='+database+';UID='+username+';PWD='+ password)
cursor = cnxn.cursor()
cursor.execute("select * from fieldscreenscheme ")
row = cursor.fetchone()
if row:
print row
这是我得到的错误信息:
cnxn = pyodbc.connect('DRIVER='+driver+';PORT=43853;SERVER='+server+';PORT=43853;DATABASE='+database+';UID='+username+';PWD='+ password)
pyodbc.Error: ('08001', '[08001] [Microsoft][ODBC SQL Server Driver][DBNETLIB]SQL Server does not exist or access denied. (17) (SQLDriverConnect); [01000] [Microsoft][ODBC SQL Server Driver][DBNETLIB]ConnectionOpen (Connect()). (53); [01S00] [Microsoft][ODBC SQL Server Driver]Invalid connection string attribute (0)')
我安装了ODBC驱动程序。有没有建议如何解决这个错误?
我看了这两个,但没有帮助我解决这个问题。
Microsoft文档:两个问题:
\INSTANCENAME
或端口号,而不是两者都提供端口=
,它们将端口号放在服务器=
参数中,例如服务器=xxxxxxxx,43853
。(请注意,实例名称被省略,分隔符是逗号,而不是冒号。)我遇到了同样的问题,并通过如下更改连接字符串修复了它。 书写 而不是
driver = '{SQL Server}'
我一整天都在面对同样的问题,我尝试了SQL Server的所有可能的
ODBC驱动程序,下面是列表,我只是一个接一个地尝试,它对我有效
Driver={ODBC Driver 11 for SQL Server} for SQL Server 2005 - 2014
Driver={ODBC Driver 13 for SQL Server} for SQL Server 2005 - 2016
Driver={ODBC Driver 13.1 for SQL Server} for SQL Server 2008 - 2016
Driver={ODBC Driver 17 for SQL Server} for SQL Server 2008 - 2017
这些是其他一些我们可以使用的,在我的例子中,最后一个是有效的:)
但它没有任何其他建议?您使用的是哪个版本的pyodbc?我使用了4.0.26,我必须做与您的答案完全相反的事情。执行环境下的pyodbc版本可能是4.0.23,但我不确定。@Eswar您能看到我下面的答案吗,
Driver={ODBC Driver 11 for SQL Server} for SQL Server 2005 - 2014
Driver={ODBC Driver 13 for SQL Server} for SQL Server 2005 - 2016
Driver={ODBC Driver 13.1 for SQL Server} for SQL Server 2008 - 2016
Driver={ODBC Driver 17 for SQL Server} for SQL Server 2008 - 2017
Driver={SQL Server} for SQL Server 2000
Driver={SQL Native Client} for SQL Server 2005
Driver={SQL Server Native Client 10.0} for SQL Server 2008
Driver={SQL Server Native Client 11.0} for SQL Server 2012