Hi
I have some C++ code that calls a PL/SQL stored procedure with an IN and an OUT parameter.
`stmt->setSQL("BEGIN testcase.get_blb(:v1,:v2); END;");`
`stmt->setInt(1,42);`
`stmt->registerOutParam(2,OCCIBLOB);`
`stmt->executeUpdate();`
I have similar tests using OCCIINT, OCCISTRING and OCCICLOB and corresponding stored procedures for getting integer, varchar2 and clob.
I'm compiling this using gcc 9.4 on Ubuntu 20.4.
If I compile this with occi libraries from Instant Client 19.27, all 4 testcases (OCCIINT, OCCISTRING, OCCIBLOB, OCCICLOB) work, no matter whether I connect to a 19c or a 23ai database.
If I compile this with occi libraries from Instant Client 23.8, testcases for OCCIINT and OCCISTRING work fine no matter the target database version. But the testcases for OCCIBLOB and OCCICLOB work only when connected to 23ai database; if I connect to a 19c database, I get segmentation fault at the executeUpdate statement.
It makes no difference whether it's SECUREFILE or BASICFILE LOBs.
Is there something that has changed with respect to LOB handling from 19 to 23, so that a 23 client cannot read LOBs from a 19 database?
Or is there some configuration that needs to be set to be able to do it? Some compilation flag? Or runtime environment parameter?
If anyone has ideas what I'm missing to get my 23 occi client to read LOBS from a 19 db, I'd appreciate some tips.
Thanks in advance.
Cheerio
/Kim