Oracle
 sql >> база данни >  >> RDS >> Oracle

Съхранената процедура на Spring - резултатите, които се връщат от процедурата, винаги са празни

Проблемът тук е, че начинът на Oracle за извършване на съхранени процедури не е съвместим с JDBC. SP на Oracle връщат данни за набор от резултати чрез OUT параметри или връщат стойности, които са курсори, и те трябва да се обработват специално. Това означава, че не можете да използвате нищо от JDBC неща на Spring, които предполагат съответствие с JDBC, трябва да го направите сами.

На практика това означава, че трябва да използвате JdbcTemplate и CallableStatementCallback , което означава много повече ръчно JDBC кодиране, отколкото бихте искали в идеалния случай, но все още не съм намерил начин да избегна това.

От друга страна, по-скоро подозирам, че спецификацията на JDBC е написана, за да съответства тясно на Sybase (и, по асоциация, SQL Server) начин за правене на нещата, защото начинът, по който съхранените процедури се обработват в JDBC, е изключително подходящ за тези системи (и неподходящи за Oracle).



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Въведение в методите за събиране на PL/SQL в базата данни на Oracle

  2. Oracle - Защо водещата нула на число изчезва при преобразуването му в TO_CHAR

  3. Търсене във всички полета във всички таблици за конкретна стойност (Oracle)

  4. Какво представляват подзаявките в oracle

  5. Как да върнете списък с поддържани територии в Oracle