में ओरेकल पीएल/एसक्यूएल के अनुवाद के लिए टूल क्या कोई उपकरण (अधिमानतः मुफ़्त) है जो ओरेकल की पीएल/एसक्यूएल संग्रहीत प्रक्रिया भाषा का अनुवाद पोस्टग्रेस्क्ल की पीएल/पीजीएसक्यूएल संग्रहीत प्रक्रिया भाषा में करेगा?पोस्टग्रेस्क्ल पीएल/पीजीएसक्यूएल
उत्तर
http://ora2pg.darold.net/ पर एक उपकरण उपलब्ध है जिसका उपयोग ओरेकल स्कीमा को पोस्टग्रेस स्कीमा में स्थानांतरित करने के लिए किया जा सकता है, लेकिन मुझे यकीन नहीं है कि यह संग्रहीत प्रक्रियाओं का भी अनुवाद करेगा या नहीं। लेकिन यह शुरू करने के लिए एक जगह प्रदान कर सकता है।
EnterpriseDB भी है जिसमें ओरेकल से प्रवासन में मदद करने के लिए ओरेकल संगतता का काफी कुछ हिस्सा है। ओरेकल संगतता वाला संस्करण मुफ़्त नहीं है लेकिन यदि आप केवल एक प्रक्रिया अनुवाद से अधिक कर रहे हैं तो एक नज़र डालें।
फिराकल भी है, जो एक ही कार्य के लिए फायरबर्ड (नी इंटरबेज) का अनुकूलन है, आईआईआरसी कंप्रेयर के लिए। – ConcernedOfTunbridgeWells
कुछ समय के लिए ओरेकल पर पोस्टग्रेस रूपांतरण पर काम करने के बाद। ऐसा करने का एकमात्र तरीका हाथ से है। उन दो भाषाओं के बीच सूक्ष्म मतभेद हैं जो आपको यात्रा कर सकते हैं। हमने एक स्वचालित उपकरण का उपयोग करने की कोशिश की लेकिन यह केवल समस्या को और खराब कर दिया और हम आउटपुट को कचरा खत्म कर दिया।
अपनी स्कीमा का अनुवाद करने के लिए ora2pg का उपयोग करें।
संग्रहित प्रक्रियाओं के लिए:
- मैन्युअल मामला बयान करने के लिए सभी को डीकोड() और सभी पुरानी शैली ओरेकल कहां (+) बाहरी करने के लिए स्पष्ट वाम बाहरी बयान शामिल हों मिलती है परिवर्तित। मुझे ऐसा करने के लिए कोई उपकरण नहीं मिला है।
- पीएल/पीजीएसक्यूएल में पीएल/एसक्यूएल कार्यों का अनुवाद करें (नीचे देखें)।
अगर कोई ऐसा करने के लिए स्रोत फोर्ज प्रोजेक्ट शुरू करता है तो यह बहुत अच्छा होगा। \t:
CREATE OR REPLACE FUNCTION trunc(
parmDate DATE ,
parmFormat VARCHAR)
RETURNS date
AS $$
DECLARE
varPlSqlFormat VARCHAR;
varPgSqlFormat VARCHAR;
BEGIN
varPgSqlFormat := lower(parmFormat);
IF varPgSqlFormat IN (
'syyyy' ,
'yyyy' ,
'year' ,
'syear' ,
'yyy' ,
'yy' ,
'y' ) THEN
varPgSqlFormat := 'year';
ELSEIF varPgSqlFormat IN (
'month' ,
'mon' ,
'mm' ,
'rm' ) THEN
varPgSqlFormat := 'month';
ELSEIF varPgSqlFormat IN (
'ddd' ,
'dd' ,
'j' ) THEN
varPgSqlFormat := 'day';
END IF;
RETURN DATE_TRUNC(varPgSqlFormat,parmDate);
END;
$$ LANGUAGE plpgsql;
CREATE OR REPLACE FUNCTION trunc(
parmDate DATE)
RETURNS date
AS $$
DECLARE
BEGIN
RETURN DATE_TRUNC('day',parmDate);
END;
$$ LANGUAGE plpgsql;
CREATE OR REPLACE FUNCTION last_day(in_date date) RETURNS date
AS $$
DECLARE
BEGIN
RETURN CAST(DATE_TRUNC('month', in_date) + '1 month'::INTERVAL AS DATE) - 1;
END;
$$ LANGUAGE plpgsql;
- 1. पोस्टग्रेस्क्ल
- 2. पोस्टग्रेस्क्ल
- 3. पोस्टग्रेस्क्ल
- 4. पोस्टग्रेस्क्ल
- 5. पोस्टग्रेस्क्ल
- 6. पोस्टग्रेस्क्ल
- 7. पोस्टग्रेस्क्ल
- 8. पोस्टग्रेस्क्ल
- 9. पोस्टग्रेस्क्ल
- 10. पोस्टग्रेस्क्ल
- 11. पोस्टग्रेस्क्ल
- 12. पोस्टग्रेस्क्ल
- 13. पोस्टग्रेस्क्ल
- 14. पोस्टग्रेस्क्ल
- 15. पोस्टग्रेस्क्ल
- 16. पोस्टग्रेस्क्ल
- 17. पोस्टग्रेस्क्ल
- 18. पोस्टग्रेस्क्ल सर्वर
- 19. पोस्टग्रेस्क्ल क्वेरी
- 20. पोस्टग्रेस्क्ल कंसुरेंसी
- 21. पोस्टग्रेस्क्ल: फ़ाइल
- 22. पोस्टग्रेस्क्ल: कॉलम
- 23. पोस्टग्रेस्क्ल बाधा
- 24. रिमोट पोस्टग्रेस्क्ल - बेहद धीमी
- 25. पोस्टग्रेस्क्ल: मैक ओएस एक्स
- 26. पोस्टग्रेस्क्ल - उपयोगकर्ता नाम
- 27. अच्छा पोस्टग्रेस्क्ल क्लाइंट?
- 28. पोस्टग्रेस्क्ल - प्रति उपयोगकर्ता कनेक्शन
- 29. पोस्टग्रेस्क्ल GROUP_CONCAT समतुल्य?
- 30. पोस्टग्रेस्क्ल महीने की श्रेणी
TODO दस्तावेज़ ora2pg distro में शामिल से ... निम्नलिखित अपने योगदान की जरूरत है:
सुझाव संकेत ...
यहाँ मैं के लिए (2) ऊपर क्या मतलब है - एसक्यूएल क्वेरी कनवर्टर। \t - पीएल/एसक्यूएल कोड कनवर्टर। – dacracot
आगे देखकर, ऐसा लगता है कि यह पैकेज निर्यात करेगा लेकिन ऐसा लगता है कि वे 100% काम करेंगे। एक कोशिश के काबिल है। – dacracot