sql >> Databasteknik >  >> RDS >> Oracle

OracleCommandBuilder.DeriveParameters() kastar OracleException:ORA-06564:objektet finns inte ORA-06512:på SYS.DBMS_UTILITY

Från min Oracle-ish synvinkel var detta ditt stora misstag:

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

Eftersom Oracle som standard lagrar alla objektnamn i ordboken med versaler, men du kan referera till det som du vill, t.ex. custordersorders , CUSTordERsordERS , CUSTORDERSORDERS , CustOrdersOrders - inga problem. Men om du anger något namn (procedur, tabell, kolumn, ...) med dubbla citattecken, måste du använd dubbla citattecken varje gång du hänvisar till det objektet, omslutet av samma dubbla citattecken och matchande skiftläge precis som du använde det när du skapade objektet.

Så:antingen återskapa proceduren som CREATE OR REPLACE PROCEDURE CustOrdersOrders (vilket är vad jag skulle föreslå), eller använd dubbla citattecken.




  1. PreparedStatement-fråga i Java mot Oracle

  2. Lägg till unik begränsning baserat på fältvärde

  3. SQL Auto-ökning efter DateTime

  4. Mysql-lösning för fönsterfunktioner