Skip to content

Can't set CLOB value in newobject #299

@hyperchair

Description

@hyperchair

Hello,
I'm trying to enqueue a message and have SystemError on trying to set object CLOB field.
Type was created smth like that:
create or replace TYPE "TYPE_NAME" as object(MY_VALUE CLOB)

Python 3.7.1 (default, Oct 24 2018, 22:38:59)
[GCC 6.3.0 20170516] on linux
Running in python:3.7-slim docker (debian:stretch-slim 3.10.0-693.21.1.el7.x86_64)
Instant Client and cx_Oracle:

RUN apt update
RUN apt install -y unzip libaio1 git gcc
ADD instantclient-basic-linux.x64-18.5.0.0.0dbru.zip .
RUN mkdir oracle
RUN unzip instantclient-basic-linux.x64-18.5.0.0.0dbru.zip -d ./oracle
RUN echo "/opt/oracle/instantclient_18_5" > /etc/ld.so.conf.d/oracle.conf
RUN ldconfig

RUN git clone https://github.com/oracle/python-cx_Oracle.git cx_Oracle
WORKDIR /opt/cx_Oracle
RUN git submodule init
RUN git submodule update
RUN python setup.py install

Oracle Database version

>>> conn.version
'12.1.0.2.0'
import cx_Oracle
dsn_tns = cx_Oracle.makedsn(HOST, PORT service_name=SERVICE)
conn = cx_Oracle.connect(user=USER, password=PASSWORD, dsn=dsn_tns)
cursor = conn.cursor()
obj_type = conn.gettype('SCHEMA.TYPE_NAME')
new_obj = obj_type.newobject()
new_obj.MY_VALUE = 'testing'
# SystemError: error return without exception set

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions