Question

I got a stack trace from Oracle saying there was a problem on Line 299. No problem, I looked at that line in the package in question, and say that it's a line in an initialization block that sets a variable to 1, and does not call the procedure that raised the error.

It looks like there's a mismatch between what the server is executing and what I am seeing when I view the package source, based on the line number in the stack trace.

How I looked at the package: I used PL/SQL Developer and clicked "View Pacakge" on the package name in the object browser. When I looked at the same package in source control, an error on Line 299 makes sense (it's a call to the procedure that failed).

So my question is: WTF is going on? Why do I get source code that doesn't seem to match the stack trace line numbers when I ask Oracle for the pacakge source?

(oracle 10g)

Was it helpful?

Solution 2

So it turns out that my script was referencing API_USR.SOME_PACKAGE and I was logged in as READONLY_USR and READONLY_USR owns an older version of SOME_PACKAGE. When I viewed API_USR.SOME_PACKAGE via READONLY_USR I got the right source code.

face-palm

OTHER TIPS

I think you already got the source of that package opened in PL/SQL developer. When you choose View Source again, it activates the previously opened editor, without reloading the source.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top