You are not logged in.
Hello,
I found small problem in my code which calls stored procedure in the Oracle database. I know that direct calling stored procedures is not the recommended approach, but for now I have no other choice. The procedure has varchar output parameter. When this procedure is called I receive Oracle error: ORA-06502: character string buffer too small. For output param in my code there is a binding like in the documentation:
stmt.BindTextU(2, '', paramOut);
and then I found in the documentation information about exception for the TSQLDBOracleStatement class. The param should be prealocated with code like:
stmt.BindTextU(2, StringOfChar(3000),paramOut);
I'm a little bit confused because it would be nice to have the same calling code which is independent from used database. I wrote some correction to the TSQLDBOracleStatement which allows automatic prealocation for varchar type output parameters. Could you consider to add these changes to the mORMot source code? I could add my corrections as pull request on GitHub.
Last edited by ASiwon (2022-11-11 19:38:06)
best regards
Adam Siwon
Offline