我正在使用 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。