から0行を返すのRed Hat Enterprise Linux Serverは、TeradataのRPMパッケージで、7.2(マイポ)を放出します。 noarch - tdicu1510-15.10.01.02-1.noarchpyodbcカーソルは我々が実行されているTeradataの
とPython 3.6でpyodbc(3.0.10)を介して接続するので、等:
>>> import pyodbc >>> conn = pyodbc.connect('DSN=devdb;UID=xxx;PWD=xxx') >>> curs = conn.execute('\nselect user as me') >>> len(curs.fetchall()) Traceback (most recent call last): File "<stdin>", line 1, in <module> pyodbc.ProgrammingError: No results. Previous SQL was not a query.
またODBCトレースファイルが正常に実行を示しているが、がSQLRowCount = 0 :
2759 1 TS:201920:[139723593647936] SQLExecDirect returns SQL_SUCCESS [ execute.cpp 542 ] 2760 TS:201920:[139723593647936] SQLRowCount(hstmt5, pcrow) --> [ results.cpp 3165 ] 2761 1 TS:201920:[139723593647936] SQLRowCount() = 0 [ results.cpp 3212 ] 2762 TS:201920:[139723593647936] SQLNumResultCols(hstmt5, pccol) [ results.cpp 210 ] 2763 1 TS:201920:[139723593647936] SQLNumResultCols() [ results.cpp 224 ] 2764 1 TS:201920:[139723593647936] --> 0 [ results.cpp 248 ] 2765 1 TS:201920:[139723593647936] SQLNumResultCols returns SQL_SUCCESS [ results.cpp 251 ]
有効なクエリでは、カーソルは結果を返しません。 誰かがこれにいくつかの光を当てることができますか?
'.fetchall()'を実行する前に 'curs.nextset()'を実行するとどうなりますか? –