JDBC ड्राइवर ठीक काम कर रहा है।
जैसा कि आप टिप्पणियों में पहले ही जान चुके हैं, समस्या यह है कि
a) स्प्रिंग डेटा JDBC को अब एक Dialect
की आवश्यकता है प्रत्येक डेटाबेस के लिए
b) स्प्रिंग डेटा JDBC Dialect
के साथ शिप नहीं करता है ओरेकल के लिए।
समाधान:
जैसा कि स्प्रिंग डेटा JDBC फायरबर्ड बोली को पहचाना नहीं गया में वर्णित हैए> और https://spring में .io/blog/2020/05/20/migrating-to-spring-data-jdbc-2-0
आपको अपनी खुद की Dialect
प्रदान करने की आवश्यकता है कार्यान्वयन अभी।
कुछ इस तरह काम करना चाहिए:
class MyOracleDialect extends AnsiDialect {
private static final LimitClause LIMIT_CLAUSE = new LimitClause() {
@Override
public String getLimit(long limit) {
return String.format("FETCH NEXT %d ROWS ONLY", limit);
}
@Override
public String getOffset(long offset) {
return String.format("OFFSET %d ROWS", offset);
}
@Override
public String getLimitOffset(long limit, long offset) {
return String.format("OFFSET %d ROWS FETCH NEXT %d ROWS ONLY", offset, limit);
}
@Override
public Position getClausePosition() {
return Position.AFTER_ORDER_BY;
}
};
@Override
public LimitClause limit() {
return LIMIT_CLAUSE;
}
}
फिर आपको Dialect
बनाना होगा DialectProvider
. के माध्यम से उपलब्ध है जैसा कि संदर्भित स्टैक ओवरफ्लो प्रश्न में वर्णित है:
कुछ पृष्ठभूमि:
अब तक स्प्रिंग डेटा टीम ओरेकल डेटाबेस के साथ अपने एकीकरण परीक्षण नहीं चलाती है। ऐसा इसलिए है क्योंकि काफी समय से यह स्पष्ट नहीं था कि इसे कानूनी तरीके से कैसे किया जाए क्योंकि बिल्ड इंफ्रास्ट्रक्चर सहित सभी कोड ओपन सोर्स थे और ओरेकल को स्वीकार करने की आवश्यकता थी डेटाबेस इंस्टेंस या उनके ड्राइवर का उपयोग करने के लिए सभी प्रकार की सामग्री।
अब तक डॉकर चित्र परीक्षण के लिए उपलब्ध हैं और JDBC ड्राइवर मावेन सेंट्रल से उपलब्ध है। यह अभी भी थोड़ा मुश्किल है क्योंकि डॉकर छवियों के मौजूदा विकल्प के बारे में मुझे पता है कि आप कई जीबी के छवि आकार या लगभग 15 मिनट के स्टार्ट अप समय के बीच चयन कर सकते हैं।
वैसे भी इस मुद्दे पर काम करने वाला एक समुदाय सदस्य है:https://jira.spring.io/ ब्राउज़ करें/डेटाजेडीबीसी-256
इसलिए मुझे विश्वास है कि हम निकट भविष्य में Oracle को पूरी तरह से समर्थन देने में सक्षम होंगे।