【发布时间】:2020-08-30 03:00:23
【问题描述】:
由于某种原因运行此查询时,我总是得到无效的行句柄错误,我不确定这意味着什么。我正在尝试与 teradata 建立 python 连接并打印出查询数据的结果。
import teradata
import teradatasql
with teradatasql.connect(host='PPTT', user='**', password='***', logmech='LDAP') as connection:
connection.autocommit = True
crsr = connection.cursor()
sql_command="""SELECT SOURCE_ORDER_NUMBER
FROM DL_DB.BV_BO
WHERE TRANS_TYPE='AR'
"""
crsr.execute(sql_command)
result = crsr.fetchall()
---------------------------------------------------------------------------
OperationalError Traceback (most recent call last)
<ipython-input-26-be601f4ff898> in <module>
----> 1 result = crsr.fetchall()
//anaconda3/lib/python3.7/site-packages/teradatasql/__init__.py in fetchall(self)
921 try:
922 rows = []
--> 923 for row in self:
924 rows.append(row)
925
//anaconda3/lib/python3.7/site-packages/teradatasql/__init__.py in __next__(self)
991 sErr = ctypes.string_at (pcError).decode ('utf-8')
992 goside.goFreePointer (self.connection.uLog, pcError)
--> 993 raise OperationalError (sErr)
994
995 if pcColumnValues:
OperationalError: 6 is not a valid rows handle
【问题讨论】:
-
看起来 fetchall 可能超出了连接范围(与)?顺便说一句 - teradatasql 包不需要 teradata。