Empty package <package name> definition (no public members) - oracle

I'm facing an issue when trying to run or debug a package where Oracle SQL Developer doesn't display public members (procedures) that don't have input parameters.
There is a couple of procedures, some overloads, but Oracle SQL Developer doesnt display no invoke-able members.
I've tried with following versions of Oracle SQL Developer
4.1.1.19 link to article saying this version solves the issue, but it didn't
4.0.3.16 - same behavior
4.0.0.13 - same behavior
3.2.20.09 - this version actually displayed invokable members, but debugger doesnt work.
This is the Oracle version :
select * from v$version;
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
PL/SQL Release 11.2.0.4.0 - Production
"CORE 11.2.0.4.0 Production"
TNS for IBM/AIX RISC System/6000: Version 11.2.0.4.0 - Production
NLSRTL Version 11.2.0.4.0 - Production
Has anyone successfully resolved similar situation and how?
(Upgrading database is not an option atm)

A bit late, but i could help. There is a SqlDeveloper bug. What I have to do is to "Save" it before Compile it...
Hope it helps

I found 2 possible cause that may cause the no public member problem
1) SQL Developer hit some kind of bugs itself.
This can be resolved by completely close and restarting the SQL developer
2) Some keywords used in your codes (e.g. field name in SQL statements) that works fine in compiled execution , but would ruin the display of function list.
I resolved my problem by applying double quote to the entire packages where a field named “CASE” is used.
i.e.
SELECT table1.case FROM table1
change to
SELECT table1."CASE" FROM table1
Alex

Definitely late , but came across the same issue & thought of posting what helped me .
The proc was contained in a package that belong to another user
&
the grants were not provided for the user which was calling the proc .
Works when the grants are done.

I would recommend to save the stored procedure and then compile. In some cases, after saving the procedure, the table will automatically compile. But, you have to save each and every time you make changes.
I hope this helps you out.

Related

Downgrade OBIEE 12c Repository to 11g

Is it possible to downgrade a 12c repository to OBIEE 11g on windows server?
I tried "nqgenoldverrpd.exe" way but I got error below
"Reading D:\TEMP\BI_Model\XX_Repository.rpd...
The following repository cannot be opened: D:\TEMP\BI_Model\XX_Repository.rpd"
Does anyone have any idea, please help me :)
nqgenoldverrpd only work within one product family. So inside the 11g product family or inside the 12c product family.
It does not support jumps from 11g to 12c.
Moving changes "down" one full release is a tricky thing and can lead to problems.

How to handle toad invalid pointer operation?

I get this error : toad invalid pointer operation , when I want to import data from excel.
Toad version : 12.1
Oracle version :Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
I ve restarted TOAD , even Computer but it does not work.
thanks in advance
I had the same problem and this was my solution (idea from https://support.quest.com/toad-for-oracle/kb/52537):
To quickly remove any hidden formulas in the spreadsheet, I copied all the range of cells with the required data and pasted it into another spreadsheet.
On the following import operation everything worked smoothly.

Unable to access a function inside an Oracle package

There is a package in Oracle - dbms_sqltune_util0 which I want to make use of.
When I run
desc dbms_sqltune_util0;
i get the appropriate description.
But when I try to use the functions contained in this package it doesnt work. What does this mean? Should I get a license or something?
The query which I am trying to run is
select dbms_sqltune_util0.sqltext_to_sqlid('select 1 from dual') from dual;
You are trying to use an Oracle 12c package. Your tag says you are using an Oracle 11g database.
As far a I know there is no Express Edition of Oracle 12c yet so the answer is: Yes, you need a licence to use this package.
BTW: Even in Oracle 11g there is not every package available in every edition of the Oracle databases.

Oracle SqlDeveloper Completion Insight table name with #

Got following error: if table name contains # (like z#users) code completion does not work.
With normal table names all works fine.
Is there any workarounds? Renaming all tables is not possible.
Sqldeveloper version 4.0.0
Oracle 10.2.0.5
I just tried this with a table called ABC#DEF - with both table and column completion in the worksheet, and it worked with no issues.
I'm on 4.0.2 and 11.2.0.4, so an upgrade to our latest SQL Developer patch might help.

Is it possible for Oracle to run the old version of a package even after you've done a CREATE or REPLACE?

I have a package which I've just replaced and the method being called (ASP.NET client) is raising an error about an incorrect number of parameters.
If Oracle is still running the old version, how can I get it to discard the old "compiled" version?
Oracle 10g won't run the old version of a package after you've done a CREATE OR REPLACE (I'm assuming that you did that both for the package spec and the package body).
If you were using 11.2 and explicitly asked it do, Oracle can run two different versions of a piece of code in two different editions which would let some clients continue using the old edition and gradually migrate to the new edition. Edition-based redefinition is new in 11.2 though.

Resources