I’m trying to call a stored procedure by creating an Adapter Service in Developer. When using oracle.jdbc.pool.OracleDataSource as DataSource class for my JDBC Adapter, it works fine, but when I change the DataSource class to com.wm.dd.jdbcx.oracle.OracleDataSource, I get problems:
If I set Enable Procedure Name Lookup to TRUE, and select my procedure from the drop down list, the procedure name is surrounded by " and is prefixed with a . (like .“procedurename”), and this gives me the following error:
com.wm.app.b2b.server.ServiceException: [ART.117.4002] Adapter Runtime (Adapter Service): Unable to invoke adapter service PackageName.AdapterName:serviceName.
[ADA.1.316] Cannot execute the SQL statement “{? = call .“procedurename” (?, ?, ?, ?) }”. "
(42000/911) [wm-cjdbc40-0034][Oracle JDBC Driver][Oracle]ORA-00911: invalid character
"
[wm-cjdbc40-0034][Oracle JDBC Driver][Oracle]ORA-00911: invalid character
If I set Enable Procedure Name Lookup to FALSE, and select my procedure from the drop down list, the procedure name looks right (without . and ", like it is when I use oracle.jdbc.pool.OracleDataSource), but then I get the following error:
com.wm.pkg.art.error.DetailedSystemException: [ART.117.4002] Adapter Runtime (Adapter Service): Unable to invoke adapter service PackageName.AdapterName:serviceName.
[ADA.1.316] Cannot execute the SQL statement “{? = call procedurename (?, ?, ?, ?) }”. "
(HY000/6550) [wm-cjdbc40-0034][Oracle JDBC Driver][Oracle]ORA-06550: line 1, column 18:
PLS-00382: expression is of wrong type
ORA-06550: line 1, column 7:
PL/SQL: Statement ignored
"
[wm-cjdbc40-0034][Oracle JDBC Driver][Oracle]ORA-06550: line 1, column 18:
PLS-00382: expression is of wrong type
ORA-06550: line 1, column 7:
PL/SQL: Statement ignored
All other settings are the same. Are there any differences between the two DataSource classes so that I have to change some settings? The procedure returns a ORACLECURSOR.