【发布时间】:2018-02-06 08:32:41
【问题描述】:
我有以下代码:
import pyodbc
conn = pyodbc.connect('DSN=QueryBuilder')
cursor = conn.cursor()
stringA = "SELECT GrantInformation.Call FROM GrantInformation"
cursor.execute(stringA)
rows = cursor.fetchall()
它多年来一直运行良好,但突然间它今天停止工作,并有以下回溯:
Traceback (most recent call last):
File "C:/Users/nicholas/Desktop/test.py", line 6, in <module>
cursor = conn.cursor()
AttributeError: 'NoneType' object has no attribute 'cursor'
代码在 Jupyter Notebook 中仍然有效,但不再适用于外部,即在 Pycharm/IDLE 中
如果我在 Pycharm 中运行:
print(pyodbc.dataSources())
print(pyodbc.drivers())
我明白了:
none
none
如果我在 Jupyter Notebook 中执行此操作,我会得到:
{'Visio Database Samples': 'Microsoft Access Driver (*.mdb, *.accdb)', 'dBASE Files': 'Microsoft Access dBASE Driver (*.dbf, *.ndx, *.mdx)', 'Excel Files': 'Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)', 'MS Access Database': 'Microsoft Access Driver (*.mdb, *.accdb)', 'QueryBuilder': 'SQL Server', 'QueryBuilder_Beta': 'SQL Server', 'MIDAS': 'SQL Server', 'Querybuilder_YearEnd': 'SQL Server', 'ResearchFish': 'SQL Server', 'ESRCContacts': 'SQL Server', 'ESRCContactsDEV': 'SQL Server', 'Sample Amazon Redshift DSN': 'Amazon Redshift (x64)'}
['SQL Server', 'SQL Server Native Client 10.0', 'Amazon Redshift (x64)', 'SQL Server Native Client 11.0', 'PostgreSQL ANSI(x64)', 'PostgreSQL Unicode(x64)', 'ODBC Driver 11 for SQL Server', 'ODBC Driver 13 for SQL Server']
我失去了情节,因为我非常依赖这段代码来完成我的所有工作,但我没有做任何事情来解决问题,即重新安装 Python、pyodbc 等
【问题讨论】:
-
我遇到了类似的问题并通过升级依赖项解决了这个问题
-
谢谢普布杜。知道我是否回到 3.6 很有用!