如何从 python 理解 HDB 中返回的游标描述列
How to understand the cursor description returned columns in HDB from python
我试图了解从 curs.description 返回的元组中的每个字段是什么,这样我就可以知道类型是什么以及该类型的参数。
请参阅下面的代码示例。我基本上会 运行 一些查询,然后打印或操作游标描述(这是一个元组)。数据是什么意思(我知道其中一个字段是列名)?我想了解所有这些字段的含义,以便我可以根据需要解析任何类型信息。
例如,这是一个 SAP HANA 查询
select *
from "_NAMESPACE"."SomeTable"
我 运行 来自 python
conn01 = pyhdb.connect(host='', port=, user='', password = '')
curs02 = conn01.cursor()
curs02.execute(myQuery)
curs02.fetchone()
print(curs02.description) # prints tuple
Returns(例如):
(('FROM_SITE', 11, None, 1, 0, None, 2),
('TO_SITE', 11, None, 1, 0, None, 2),
('FROM', 11, None, 4, 0, None, 0),
('TO', 11, None, 4, 0, None, 0),
('TRX', 11, None, 2, 0, None, 0),
('ACCNUM', 11, None, 8, 0, None, 0),
('DESC', 11, None, 20, 0, None, 2),
('DMYNUM', 3, None, 10, 0, None, 0))
我想了解每个元组元素中的所有字段是什么。例如,('FROM_SITE', 11, None, 1, 0, None, 2)。例如,每个字段表示什么。 “11”好像是varchar的意思,但是我不是很懂。
值为:
name
type_code
display_size
internal_size
precision
scale
null_ok
请注意,根据所使用的 DBMS,返回的 type_code
可能不符合 DB-API 规范。
pyhdb
返回的 type_code 数字是 HANA 特定的。该数字与网络协议中HANA服务器返回的类型码字段直接对应。这个数字可以改变,这取决于客户端和服务器版本,即使相应的列类型看起来相同。
可以在 pyhdb
源代码中找到已知 type_code 号码的列表:
https://github.com/SAP/PyHDB/blob/master/pyhdb/protocol/constants/type_codes.py
我试图了解从 curs.description 返回的元组中的每个字段是什么,这样我就可以知道类型是什么以及该类型的参数。
请参阅下面的代码示例。我基本上会 运行 一些查询,然后打印或操作游标描述(这是一个元组)。数据是什么意思(我知道其中一个字段是列名)?我想了解所有这些字段的含义,以便我可以根据需要解析任何类型信息。
例如,这是一个 SAP HANA 查询
select *
from "_NAMESPACE"."SomeTable"
我 运行 来自 python
conn01 = pyhdb.connect(host='', port=, user='', password = '')
curs02 = conn01.cursor()
curs02.execute(myQuery)
curs02.fetchone()
print(curs02.description) # prints tuple
Returns(例如):
(('FROM_SITE', 11, None, 1, 0, None, 2), ('TO_SITE', 11, None, 1, 0, None, 2), ('FROM', 11, None, 4, 0, None, 0), ('TO', 11, None, 4, 0, None, 0), ('TRX', 11, None, 2, 0, None, 0), ('ACCNUM', 11, None, 8, 0, None, 0), ('DESC', 11, None, 20, 0, None, 2), ('DMYNUM', 3, None, 10, 0, None, 0))
我想了解每个元组元素中的所有字段是什么。例如,('FROM_SITE', 11, None, 1, 0, None, 2)。例如,每个字段表示什么。 “11”好像是varchar的意思,但是我不是很懂。
值为:
name
type_code
display_size
internal_size
precision
scale
null_ok
请注意,根据所使用的 DBMS,返回的 type_code
可能不符合 DB-API 规范。
pyhdb
返回的 type_code 数字是 HANA 特定的。该数字与网络协议中HANA服务器返回的类型码字段直接对应。这个数字可以改变,这取决于客户端和服务器版本,即使相应的列类型看起来相同。
可以在 pyhdb
源代码中找到已知 type_code 号码的列表:
https://github.com/SAP/PyHDB/blob/master/pyhdb/protocol/constants/type_codes.py