It would help if you would post your code. Knowing which tables are being accessed, and the syntax of the query could help diagnose the problem.
I assume you copied and ran the query and it works outside the Pro-C routine.
Things that usually cause behavior problems between versions (with “no” code changes) are:
* Unicode changes – does your code use parameters or other variable structures which cause a non-Unicode to Unicode character comparison (such that it fails). This is particularly true of passed-in parameters. If you run your query with embedded literals and it returns the results, but fails when run in the compiled Pro-C module using dynamic parameters, this may be a Unicode conversion problem.
* Security/authorization – is your Pro-C routine executed with a different privilege set than when you run the query directly? (You “should” be able to test this by running the query and the call to the Pro-C routine from SQL*Plus (or your favorite environment)).
* Queries against SYS or DBA views (security related – sometimes the default access privileges to these views changes between versions).
As Oracle systems evolve, Unicode and Security are two areas that tend to change between versions.