Oracle
 sql >> डेटाबेस >  >> RDS >> Oracle

परीक्षण के लिए H2 में Oracle पैकेज प्रक्रिया को कैसे परिभाषित करें

यहाँ मैंने क्या किया।

प्रश्न #2: इस प्रश्न का उत्तर देने के लिए मुझे मूल प्रश्न को इस प्रकार बदलना पड़ा

@Repository
public interface StudentRepository extends JpaRepository<Student, String> {

@Modifying
@Query(value = "call sch1.STUDENT_PACKAGE.Set_Grades_To_A('A')", nativeQuery = true)
public void setStudentGradeToA();
}

प्रश्न #1: इसका उत्तर देने में तीन बातें शामिल हैं। अब जब मैंने मूल क्वेरी को ऊपर के रूप में बदल दिया था तो मुझे एक अलग त्रुटि मिली:

Caused by: org.h2.jdbc.JdbcSQLException: Database "sch1" not found; SQL statement:
call sch1.STUDENT_PACKAGE.Set_Grades_To_A('A') [90013-197]
    at org.h2.message.DbException.getJdbcSQLException(DbException.java:357)
    at org.h2.message.DbException.get(DbException.java:179)
    at org.h2.message.DbException.get(DbException.java:155)

यह sch1 . नामक डेटाबेस की तलाश में था . ऐसा लगता है कि H2 में संग्रहीत कार्यविधि को कॉल करने के लिए उपयोग किया जाने वाला पैटर्न database.schema.procedure_name है . चूंकि मुझे परवाह नहीं है कि वह प्रक्रिया वास्तव में क्या करती है, इसलिए मैं sch1 नामक डेटाबेस बनाकर इसे नकली बनाने में सक्षम था STUDENT_PACKAGE नामक एक स्कीमा और प्रक्रिया का नाम Set_Grades_To_A

इन मेमोरी डेटाबेस बनाने के लिए, आपको निम्न गुण सेट करने होंगे spring.datasource.url application.properties . में फ़ाइल।

  1. sch1 बनाएं डेटाबेस इस प्रकार है spring.datasource.url=jdbc:h2:mem:sch1;DB_CLOSE_DELAY=-1;DB_CLOSE_ON_EXIT=FALSE;MODE=Oracle;INIT=CREATE SCHEMA IF NOT EXISTS first_schema . ध्यान दें कि डेटाबेस का नाम है sch1

  2. STUDENT_PACKAGE बनाएं इस \\;CREATE SCHEMA IF NOT EXISTS STUDENT_PACKAGE spring.datasource.url . के अंत तक . यह एक दूसरा स्कीमा जोड़ता है जिसे STUDENT_PACKAGE . कहा जाता है . प्रॉपर्टी कुछ इस तरह दिखनी चाहिए spring.datasource.url=jdbc:h2:mem:sch1;DB_CLOSE_DELAY=-1;DB_CLOSE_ON_EXIT=FALSE;MODE=Oracle;INIT=CREATE SCHEMA IF NOT EXISTS first_schema\\;CREATE SCHEMA IF NOT EXISTS STUDENT_PACKAGE

  3. एक Set_Grades_To_A बनाएं इसे अपने schema.sql CREATE ALIAS STUDENT_PACKAGE.Set_Grades_To_A AS $$ void setGradesToA(String s) { new StringBuilder(s).reverse().toString(); } $$;



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL डेवलपर कनेक्शन दृश्य परिशोधित करें

  2. बयान उठाएँ

  3. टॉमकैट 8 सर्वर के साथ Oracle9 डेटाबेस से कनेक्शन बनाते समय AbstractMethodError प्राप्त करना

  4. Oracle क्लॉब डेटाटाइप को क्वेरी करना

  5. मेमोरी में पूरी फाइल लोड किए बिना बीएलओबी (ओरेकल) में एक बड़ी फाइल कैसे डालें?