cx_oracle connection.gettype 失败,“”作为架构前缀

问题描述 投票:0回答:0

我正在使用 cx_oracle 连接检索在 oracle 模式中创建的数据类型

obj_type = connection.gettype('EMIS_MILESTONES')
print('obj_type',obj_type)
# Convert the list of objects to a PL/SQL collection
data_values_collection = obj_type.newobject()

类型声明为

create or replace TYPE EMIS_MILESTONE AS OBJECT (
   RUN_ID NUMBER(10,0)   ,
   RUN_CODE NUMBER(10,0) ,
REQUEST_CODE NUMBER(10,0) ,
ADDITIONAL_PART_CODE VARCHAR2(150 BYTE) ,
PROCESS_DATE DATE ,
MILESTONE_CD NUMBER(10,0) ,
REQUEST_TYPE_CD NUMBER(10,0) ,
REQ_MILESTONE_STATUS_CD NUMBER(10,0) 
);    
create or replace TYPE EMIS_MILESTONES AS TABLE OF EMIS_MILESTONE;

向架构授予执行类型权限

gettypes 失败并显示

Error while inserting data: OCI-22303: type ""."EMIS_MILESTONES" not found
Error while inserting data: <class 'cx_Oracle.DatabaseError'> Occured 

原因似乎是添加了错误的模式前缀。 “” 我尝试明确提及架构名称,但是,“”架构前缀修复甚至被添加到其中。

我正在使用 19c oracle db。

python cx-oracle
© www.soinside.com 2019 - 2024. All rights reserved.