Symptom #
Updating an Oracle stored procedure using the Call Stored Procedure (OLEDB) tool returns the following error code:
the operation failed 0x80040e14
Cause #
The underlying error is ‘ORA-01460: unimplemented or unreasonable conversion requested’. This is caused by binding more than 32KB data to a stored procedure parameter when using the Oracle OLEDB Provider.
Resolution #
Add the following parameter to the OLEDB connection string:
SPPrmsLOB=True
This can easily be done by entering the Call Stored Procedure (OLEDB) global configuration within the client and manually editing the connection string for the Oracle OLEDB Provider connection. This can be located via the following:
Manage -> Tools -> Input -> Call Stored Procedure (OLEDB) > [Oracle OLEDB Provider connection] > Properties > Connection
An example connection string is:
Provider=OraOLEDB.Oracle.1;Password=password;Persist Security Info=True;UserID=system;Data Source=xe;SPPrmsLOB=True
The parameter informs the Oracle OLEDB driver that at least one of the stored procedure parameters is of a LOB type.