Python 在Oracle数据库中保存数组
我需要在列中保存一个数组。我目前正在创建一个类型VARRAY,并使用正常工作的类型。但是,当我用PYTHON查询表时,它在db上工作正常,该数组字段无法转换为PYTHON数组 我曾尝试在python脚本中更改sql查询的类型,但没有任何效果Python 在Oracle数据库中保存数组,python,oracle,cx-oracle,Python,Oracle,Cx Oracle,我需要在列中保存一个数组。我目前正在创建一个类型VARRAY,并使用正常工作的类型。但是,当我用PYTHON查询表时,它在db上工作正常,该数组字段无法转换为PYTHON数组 我曾尝试在python脚本中更改sql查询的类型,但没有任何效果 CREATE OR REPLACE TYPE params_array IS VARRAY(25) of number(25); create TABLE dependencies ( job_name varchar2(15), par
CREATE OR REPLACE TYPE params_array IS VARRAY(25) of number(25);
create TABLE dependencies
(
job_name varchar2(15),
parameters params_array,
function_name varchar2(225)
)
Select parameters from dependencies:
预期成果:
[10,10]
实际:
0x7fd9620d02b0处的cx_Oracle.Object SYS.PARAMS_数组要将Oracle集合对象转换为cx_Oracle中的Python列表,请使用以下方法: >>>c=连接光标 >>>对于c.executeSELECT中的行,请从依赖项中选择参数: ... 打印行[0]。aslist ... [10, 20] 最后,确实不要在SYS模式中创建对象,因为您显然已经使用了PARAMS_数组类型。这可能会干扰Oracle数据库的运行。如果您一直在此模式中创建对象,Oracle也会拒绝支持您。对于数据库中内置的任何其他模式,情况可能也是如此