Oracle
 sql >> Database >  >> RDS >> Oracle

OracleCommandBuilder.DeriveParameters() genera OracleException:ORA-06564:l'oggetto non esiste ORA-06512:su SYS.DBMS_UTILITY

Dal mio Oracle-ish punto di vista, questo è stato il tuo enorme errore:

CREATE OR REPLACE PROCEDURE "CustOrdersOrders"
                            -                -
                            these double quotes

Perché, per impostazione predefinita, Oracle memorizza tutti i nomi degli oggetti nel dizionario in maiuscolo, ma puoi farvi riferimento come preferisci, ad es. custordersorders , CUSTordERsordERS , CUSTORDERSORDERS , CustOrdersOrders - nessun problema. Ma, se racchiudi qualsiasi nome (procedura, tabella, colonna, ...) tra virgolette doppie, devi usa le virgolette ogni volta che fai riferimento a quell'oggetto, racchiuso tra virgolette e lettere maiuscole corrispondenti esattamente come lo hai usato durante la creazione di quell'oggetto.

Quindi:o ricreare la procedura come CREATE OR REPLACE PROCEDURE CustOrdersOrders (che è quello che suggerirei), oppure usa le virgolette doppie.