有人可以一步一步解释下面的堆栈跟踪吗? 我想找出错误的根本原因是什么以及错误源自何处。
追踪(最近一次呼叫最后一次):
1. File "C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\Extensio ns\Microsoft\Python Tools for Visual Studio\2.1\visualstudio_py_util.py", line 1 06, in exec_file
exec_code(code, file, global_variables)
2. File "C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\Extensio ns\Microsoft\Python Tools for Visual Studio\2.1\visualstudio_py_util.py", line 8 2, in exec_code
exec(code_obj, global_variables)
3. File "C:\Users\ssr\FindAllCandidatePathsOfTrain.py", line 332, in <module>
main()
4. File "C:\Users\ssr\FindAllCandidatePathsOfTrain.py", line 296, in main
stanoxDetails = checkTheLineHasStanox(lastLineSegment)
5. File "C:\Users\ssr\FindAllCandidatePathsOfTrain.py", line 205, in checkTheLineHasStanox
firstrow= query(queryStr, 'GetOne')
6. File "C:\Users\ssr\FindAllCandidatePathsOfTrain.py", line 45, in query
connection.close()
7. File "C:\Python34\lib\site-packages\pypyodbc.py", line 2658, in close
self.rollback()
8. File "C:\Python34\lib\site-packages\pypyodbc.py", line 2581, in rollback
check_success(self, ret)
9. File "C:\Python34\lib\site-packages\pypyodbc.py", line 988, in check_success
ctrl_err(SQL_HANDLE_DBC, ODBC_obj.dbc_h, ret, ODBC_obj.ansi)
10. File "C:\Python34\lib\site-packages\pypyodbc.py", line 966, in ctrl_err
raise DatabaseError(state,err_text) pypyodbc.DatabaseError: ('08S01', '[08S01] [Microsoft][ODBC SQL Server Driver]Co mmunication
link failure')
Press any key to continue . . .
答案 0 :(得分:2)
Python Traceback将显示错误发生前正在执行的内容以及错误输入的行。
在这种情况下,您的模块在此行引发了错误:
File "C:\Python34\lib\site-packages\pypyodbc.py", line 966, in ctrl_err
raise DatabaseError(state,err_text)
错误文本显示在这里:
pypyodbc.DatabaseError: ('08S01', '[08S01] [Microsoft][ODBC SQL Server Driver]Communication link failure')
答案 1 :(得分:2)
如上所述,回溯显示错误发生前执行的代码行和错误本身。在这种情况下,Python并不是导致错误的直接原因。
考虑:
10. File "C:\Python34\lib\site-packages\pypyodbc.py", line 966, in ctrl_err
raise DatabaseError(state,err_text) pypyodbc.DatabaseError: ('08S01', '[08S01] [Microsoft][ODBC SQL Server Driver]Communication link failure')
这表明Python中的这个错误是一个&#34;传递&#34;错误。被调用的数据库驱动程序实际上是导致错误的原因,Python只是通过Python传递它。祝你好运。