I am calling an Oracle stored procedure using the OraOLDDB.Oracle provider which is returning an ORA-01801 error. It only returns this error on one of three Oracle servers that I have tested. The stored procedure works fine on the other servers. The servers are running nearly identical databases. The stored procedure is the same on all servers. It simply does a select from one table and an insert passing sysdate to a date field on another table, nothing complex. If I use Oracle's SQL Developer or MSDAORA then the stored procedure works fine on all servers.
The issue occurs when calling the stored procedure from SQL Express 2005 or 2012 on my 64-bit PC. It also occurs when calling the stored procedure from two other PCs running SQL 2012. I am able to run other queries and stored procedures on the problem server. Again, it does not occur on any of these PCs when calling it on the other two Oracle servers. I do not have rights to modify the stored procedure or create a new one.
DECLARE @lInsertResult VARCHAR(300) SET @lInsertResult = NULL EXECUTE ( 'begin SP_TRACE_DELETE (?,?,?); end;', N'Z077213261731645', N'd', @lInsertResult OUTPUT) AT IPC_SERVER