Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/350.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在Oracle数据库中保存数组_Python_Oracle_Cx Oracle - Fatal编程技术网

Python 在Oracle数据库中保存数组

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

我需要在列中保存一个数组。我目前正在创建一个类型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),
    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也会拒绝支持您。对于数据库中内置的任何其他模式,情况可能也是如此