2015-09-15 11 views
7

Sono di fronte a un problema quando si tenta di eseguire o eseguire il debug di un pacchetto in cui Oracle SQL Developer non visualizza membri pubblici (procedure) che non hanno parametri di input.Definizione pacchetto vuoto <nome pacchetto> (nessun membro pubblico)

Esiste un paio di procedure, alcuni sovraccarichi, ma Oracle SQL Developer non visualizza alcun membro invoke-able.

enter image description here

Ho provato con le seguenti versioni di Oracle SQL Developer

  • 4.1.1.19 link per articolo dicendo questa versione risolve il problema, ma non ha
  • 4.0.3.16 - stesso comportamento
  • 4.0.0.13 - stesso comportamento
  • 3.2.20.09 - questa versione visualizza effettivamente membri invokable, ma il debugger non esegue lavoro.

Questa è la versione di Oracle: situazione simile

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 

Qualcuno ha risolto con successo e in che modo? (database L'aggiornamento non è un bancomat opzionale)

risposta

-1

Si prega di accertarsi che il Package/Procedura viene compilata prima di provare a eseguirlo:

Esplora oggetti> Tasto destro del mouse "{Database Name}> Connetti > Fare clic destro pacchetto> Nuovo pacchetto "

codice Scrivi e cliccare sul pulsante due ingranaggi (compilazione).

+0

davvero?/facepalm ... –

3

ho trovato 2 possibili cause che possono causare il problema non membro pubblico

1) SQL Developer ha colpito un qualche tipo di bug stesso. Questo può essere risolto chiudendo completamente e riavviando lo sviluppatore SQL

2) Alcune parole chiave utilizzate nei codici (ad esempio il nome del campo nelle istruzioni SQL) che funzionano correttamente nell'esecuzione compilata, ma potrebbero rovinare la visualizzazione dell'elenco delle funzioni.

Ho risolto il problema applicando il doppio preventivo a tutti i pacchetti in cui viene utilizzato un campo denominato "CASE".

cioè SELEZIONA table1.case FROM tabella1

modifica

SELEZIONE table1. "CASE" FROM tabella1

Alex

+0

Ho capito che questo accade quando c'è un breve timeout sul DB di solito subito dopo aver compilato il pacchetto. Lo sviluppatore quindi si blocca completamente. –

+1

Mi chiedo perché questo bug possa passare fuori dalla mano del QA su Oracle. E spero davvero che Oracle possa risolvere questo bug. È fastidioso specialmente se si confronta questo prodotto con SQL Server. – user3454439

1

Decisamente in ritardo, ma è venuto attraverso il pensiero stesso problema & di pubblicare ciò che mi ha aiutato.

Il proc era contenuta in un pacchetto che appartiene ad un altro utente & le sovvenzioni non sono stati forniti per l'utente che è stata chiamata la proc.

Funziona quando le sovvenzioni sono fatte.

+0

Grazie ma non era il problema qui –

1

Un po 'in ritardo, ma potrei aiutare. C'è un bug SqlDeveloper. Quello che devo fare è quello di "Salva" prima di compilarlo ...

Speranza che aiuta

Problemi correlati