python - 需要帮助了解 teradata 中的错误
问题描述
出于某种原因运行此查询时,我总是得到无效的行句柄错误,我不确定这意味着什么。我正在尝试与 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
解决方案
缩进在 Python 中很重要。试试这个方法
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()
...
推荐阅读
- c# - 如何在另一个方法中动态更改 textBlock 的内容?
- javascript - 为什么聊天小部件读取属性“样式”显示为空
- php - 做一个条件正则表达式
- angular - 无法使用 AgmMarkerSpiderModule
- python - python - 如何通过类似于curl的python中的post请求发送文件?(W3C 验证者)
- java - Apache Solr - 索引 ZIP 文件
- javascript - 创建一个具有唯一 ID 和特定索引的新对象
- ios - 与 uiactivityviewcontroller 共享视图控制器
- oracle - Oracle 和 PostgreSQL 中不同的默认错误处理
- dns - 谷歌浏览器无法打开 flowər.com