Plsql compile in program window fails in v13 and v12

John O

Member
I was trying to compile one package body in version 13.0.0.1883 within a program window, which has a subprogram call and was getting compile errors pls-00306: wrong number or types of arguments in call to 'string'. However, the code is correct and the exact same code compiles in a sql window. So I tried it in version 12.0.8.1840 and the same thing occurred. I had a coworker who still has version 10 and it worked just fine. Has anyone else had this occur? We are changing our source repository from TFS to Git and was just recompiling all plsql production source and only had a problem with this one module.
 
As a test, can you go to Preferences > Oracle / Debugger and disable the "Add debug information when compiling" option?

If this does not help, can you go to Preferences > Window Types / Program Window and check if the "Safe compilation" option is enabled? If it is enabled, disable it and try again.
 
Good morning Mr. Marco,
Thank you for the quick response! I had both options enabled in versions 12 and 13 (64 bit)! I disabled the first option first, Preferences > Oracle / Debugger > "Add debug information when compiling" option. That did NOT work. Then disabling the second option "Safe compilation" option DID work. Then I went back and enabled "add debug information" and that worked also. I did this in both versions! So it seems it was the safe compilation option that caused the issue! Thank you again and have a great day!

John Oplinger
Systems Analyst
NCCI Holdings, Inc.
Boca Raton, Fl

 
Hi there,

I am using PLSQL developer 11.0 and when i try to compile a package spec/body from program window, i was getting following error. but when i disabled the "Safe Compile" preference, i did not get that error and i was able to compile from program window.

Can you please explain why it is not working with safe compile enabled? it was always working before with safe compile enabled, just today it is not..

Compilation errors for PACKAGE BODY SCHEMANAME.PACKAGE_NAME

Error: PLS-00201: identifier 'PACKAGE_NAME' must be declared
Line: 1
Text: CREATE OR REPLACE PACKAGE BODY SCHEMANAME.PACKAGE_NAME IS

Error: PLS-00304: cannot compile body of 'PACKAGE_NAME' without its specification
Line: 1
Text: CREATE OR REPLACE PACKAGE BODY SCHEMANAME.PACKAGE_NAME IS

Error: PL/SQL: Compilation unit analysis terminated
Line: 1
Text: CREATE OR REPLACE PACKAGE BODY SCHEMANAME.PACKAGE_NAME IS
 
Can you go to Preferences > Program Window and check if the "Safe compilation" option is enabled? If it is enabled, disable it and try again.
 
Hi Marco,

Yes it worked and i did mentioned in my post. but my concern is now i lost the ability to do safe compilation. so just wanted to understand why it was working all along and stopped working now and how can i enable the "Safe Compilation" again?

thanks,
Karthi.
 
Hi Marco,

unfortunately i can't send you the code, but it's weird that i am able to compile the same package with "safe compilation" enabled.

One thing i could think is: we had some patch applied in our TEST database and DBAs mentioned we had some issues with dba_source. May be they fixed it now, and that's why i am able to compile my package. unfortunately i dont have too much details about the patch issue and what was done to fix it.

thanks.
 
Back
Top