I'm trying to call an Oracle Package from an ExecuteSQL task.
The Oracle package takes 3 parameters - all VARCHAR2. Parameter 1 is OUTPUT and parameters 2 and 3 are INPUT. The SQL Statement Source I'm using is: { CALL IFSAPP.intface_header_api.start_job( ?, ?, ?) }. This all worked on the existing platform (SQL Server 2008R2/Microsoft OLEDB Provider for Oracle/Oracle 11g)
We are migrating the system to SQL Server 2012/Oracle Provider for OLEDB/Oracle 12c. On the new platform, I continually get the error: ORA06502: PL/SQL: numeric or value error: character string buffer too small
I have not found any combination of command, expressions, etc. which work. I have tried initialising the variable for the output parameter to 2000 bytes and 8000 bytes. I have tried configuring the parameter length in the Task Editor. I have tried using the OUTPUT keyword in the SQL. In desperation, I have even tried making it INPUT instead of OUTPUT. None of these measures have made any difference.
The package is in a proprietary database and I don't have access to the code.
Any suggestions?