2

在 Python(2.7.3) 中,我使用 OurSQL(0.9.2) 的 cursor.execute 调用一个过程。但是,当我尝试使用 cursor.nextset() 或 cursor.fetchone() 获取结果时,我收到错误“oursql.ProgrammingError: (None, 'no results available', None)”。

我发现真正奇怪的是 cursor.rowcount 不是 0。

我的 Python 代码如下所示:

import oursql

conn = oursql.connect(host='www.example.com', user='foo', passwd='bar', port=3306)
curs = conn.cursor()

curs.execute("CALL db.foo(?, ?, ?)", (1, 2, 3))
print("Row count: " + str(curs.rowcount))
print(curs.nextset())
res = curs.fetchone()
print(res)
curs.close()

这是输出:

Row count: 189
Traceback (most recent call last):
  File "test.py", line 8, in <module>
    print(curs.nextset())
  File "cursor.pyx", line 169, in oursql.Cursor.nextset (oursqlx/oursql.c:16436)
  File "cursor.pyx", line 161, in oursql.Cursor._check_statements (oursqlx/oursql.c:16392)
oursql.ProgrammingError: (None, 'no results available', None)

如您所见,它告诉我“没有可用的结果”,但行数为“189”。

我在这里做错了吗?我应该提到,当我在 MySQL Workbench 中测试它时,这个相同的查询给了我相同的行数,它确实产生了结果。

4

0 回答 0