We are upgrading Sql server 2005 to sql server 2014 with Windows server 2012.
We have linked server in sql server to connect to oracle to fetch the data, and in old environment we are using MSDAORA provider.
But in while installing oracle client in new environment we are not getting MSDAORA Provider.
When googling found that this "MSDAORA" provider is deprecated. so we are trying to fetch the data using ORAOLEDB.ORACLE.
While calling the stored procedure from oracle using linked server we are getting the below error.
OLE DB provider "ORAOLEDB.Oracle" for linked server "NPMSE" returned message "ORA-06550: line 1, column 8:
PLS-00306: wrong number or types of arguments in call to 'GETNEWINFOPROJECT'
ORA-06550: line 1, column 8:
PL/SQL: Statement ignored".
Msg 7215, Level 17, State 1, Line 1
Could not execute statement on remote server 'NPMSE'
But while executing the same sp in old environment(which is using MSDAORA) we are getting expected result.
Below is the stored procedure code from Oracle.
PROCEDURE GETNEWINFOPROJECT
( i_projectname IN PROJECT.NAME%TYPE
, i_locationname IN LOCATION.NAME%TYPE
, o_newObject_cursor OUT PKGAPPCMOR.R_CURSOR )
AS
huge Business logic
END GETNEWINFOPROJECT;
we are suspecting that may be (o_newObject_cursor OUT PKGAPPCMOR.R_CURSOR ) causing the issue.
tried in different ways.
1) Down loaded "MSDAORA" and tried to install didn't work.
2) Placed "inProcess" in linked server didn't work.
3) Now we are suspecting that OLEDB ORA is not compatible with any of the data type which we are using in oracle.
Hence we are running out of the time, need experts suggestion to pin point the problem, if any body faced this issue kindly respond to this.
Your help will be highly appreciated.
Thanks in advance.