2008-09-03 16 views
19

मैं वर्षों के लिए T-SQL साथ काम किया है, लेकिन मैं सिर्फ एक संगठन है कि कम से कम जब तक, कुछ ओरेकल सामान लेखन की आवश्यकता के लिए जा रहा है शायद सिर्फ साधारण CRUD संचालन करने के लिए स्थानांतरित कर दिया है मुझे अपने पैर मिलते हैं। मैं एक अनुप्रयोग विकास परिप्रेक्ष्य से मौजूदा ओरेकल डेटाबेस के साथ बातचीत करने के लिए डेटाबेस से माइग्रेट करने वाला नहीं हूं। क्या पीएल/एसक्यूएल में आसानी से टी-एसक्यूएल का अनुवाद करने के लिए उपकरण या उपयोगिता उपलब्ध है, एक कीवर्ड मैपर एक ऐसी चीज है जिसे मैं ढूंढ रहा हूं।माइक्रोसॉफ्ट T-SQL Oracle PL/SQL अनुवाद करने के लिए

पीएस मैं भी RTFM के लिए आलसी हूँ के अलावा यह मेरी भूमिका का एक बड़ा हिस्सा होने के लिए नहीं जा रहा है तो मैं बस मुझे एक छोटे से तेजी से गति पकड़ पाने के लिए कुछ करना चाहते हैं।

+0

http://www.oracle.com/technetwork/database/migration/translate-step-mysql-1955447.html –

उत्तर

1

यह उन्हें आगे और पीछे मैप करने के लिए तुच्छ नहीं है, तो मुझे शक है वहाँ एक उपकरण है कि यह स्वचालित रूप से करता है। लेकिन इस लिंक आप बाहर मदद कर सकता है: सादे T-SQL के लिए http://vyaskn.tripod.com/oracle_sql_server_differences_equivalents.htm

+0

यह तुच्छ नहीं है, लेकिन ओरेकल Workbench सबसे T-SQL लेते हैं और इसे परिवर्तित कर देंगे –

+0

सस्ते नहीं ($ 995) , लेकिन यह यह कर सकता है: http://www.swissql.com/products/sql-translator/sql-converter.html – Liao

2

सबसे महत्वपूर्ण अंतर हैं:

  • NVL IsNull
  • SYSDATE की जगह GETDATE()
  • CONVERT
  • समर्थित नहीं है की जगह पी एल/एसक्यूएल लेकिन सिर्फ
तकनीकी रूप से नहीं टी या -
  • पहचान कॉलम दृश्यों < के साथ प्रतिस्थापित किया जाना चाहिए

    नोट। मुझे लगता है आप पदावनत एसक्यूएल सर्वर * = वाक्य रचना का उपयोग नहीं करते मिलती लिए

    @jodonell: तालिका आप लिंक थोड़ा पुरानी हो चुकी है, ओरेकल 9i मामला जैसी चीजों का समर्थन करने और एएनएसआई बाहरी मिलती

    के बाद कुछ और अधिक मानकों के अनुरूप बन गया है
  • 2

    आप अपने IsNull और COALESCE साथ NVL बकवास की जगह है, यह T-SQL और PL/SQL में काम करेंगे!

    18

    लॉजिकल मतभेदों की तुलना में अब तक सूचीबद्ध भाषा अंतर तुच्छ है। कोई भी एनवीएल देख सकता है। क्या देखने के लिए मुश्किल है

    DDL

    एसक्यूएल सर्वर में आप कम या कोई उपद्रव के साथ अपने स्कीमा में हेरफेर, कहीं भी, कभी भी, है।

    ओरेकल में, हम संग्रहित प्रक्रियाओं में DDL पसंद नहीं तो आप हुप्स के माध्यम से कूद की क्या ज़रूरत है। आपको डीडीएल फ़ंक्शन करने के लिए तत्काल तत्काल उपयोग करने की आवश्यकता है।

    अस्थायी टेबल्स

    एसक्यूएल सर्वर जब तर्क थोड़ा कठिन हो जाता है, आम बात एसक्यूएल शॉर्टकट के लिए और यह एक अस्थायी तालिका का संकल्प लिया है और उसके बाद अगले कदम के लिए किया जाता है कि अस्थायी तालिका का उपयोग कर रहा है । एमएसएसएस इसे करने में बहुत आसान बनाता है।

    ओरेकल में हम है कि पसंद नहीं है। एक मध्यवर्ती परिणाम को मजबूर करने से आप ऑप्टिमाइज़र को आपके लिए शॉर्टकट ढूंढने से पूरी तरह से रोक सकते हैं। लेकिन अगर आपको आधा रास्ते बंद करना होगा और मध्यवर्ती परिणामों को जारी रखना होगा ओरेकल चाहता है कि आप फ्लाई पर नहीं, अस्थायी रूप से अस्थायी तालिका बनाना चाहते हैं।

    ताले

    MSSS में आप लॉक करने के बारे में चिंता है, तो आप nolock DML को लागू करने के लिए संकेत है, तो आप ताले की गिनती कम करने के लिए ताला वृद्धि की है।

    ओरेकल में हम इन तरीकों से इस बारे में चिंता नहीं करते हैं।

    पढ़ें प्रति प्रतिबद्ध

    अभी हाल तक MSSS पूरी तरह से प्रतिबद्ध अलगाव पढ़ें ताकि आप के बारे में चिंतित गंदा पढ़ता संभाल नहीं किया।

    ओरेकल दशकों से इस तरह से रहा है।

    आदि

    MSSS बिटमैप अनुक्रमणिका IOT, टेबल क्लस्टर, एकल तालिका हैश समूहों, अद्वितीय की कमी को लागू गैर अद्वितीय अनुक्रमित की धारणा नहीं ....

    0

    आप एक कर रहे हैं है दो संस्करणों का समर्थन करने की कोशिश करने के बजाय -ऑफ रूपांतरण, आपको Oracle Migration Workbench पर देखना होगा। यह टूल ओरेकल के एसक्यूएल डेवलपर के साथ काम करता है (यदि आप ओरेकल के साथ काम कर रहे हैं तो आपको वास्तव में होना चाहिए)। यह स्कीमा, डेटा, और कुछ टी-एसक्यूएल को पीएल/एसक्यूएल में परिवर्तित करता है। दोनों अच्छी तरह से जानते हुए, मैंने पाया कि यह लगभग 80% काम करता है। बड़ी प्रक्रियाओं को परिवर्तित करने के दौरान इसे लायक बनाने के लिए काफी अच्छा है, और हाथ शेष "कठिन" अज्ञात भागों को परिवर्तित करता है।

    1

    मैं ओरेकल माइग्रेशन के लिए कुछ एसक्यूएल सर्वर किया है। बैकएंड कोड को फिर से लिखने के बिना माइग्रेट करने का कोई तरीका नहीं है। 2 डेटाबेस के बीच बहुत अधिक अंतर और प्रोग्रामर के 2 दिमाग सेट के बीच अधिक महत्वपूर्ण अंतर। कई प्रबंधकों का मानना ​​है कि 2 अदलाबदल करने योग्य हैं, मैंने प्रबंधकों को एसक्यूएल सर्वर से संग्रहित प्रक्रियाओं की प्रतिलिपि बनाने और उन्हें आराध्य में संकलित करने के लिए कहा है, एक सुराग नहीं! टॉड एक ऑरैकल एप्लिकेशन का समर्थन करने के लिए बाजार पर अब तक का सबसे अच्छा टूल है। एसक्यूएल डेवलपर ठीक है लेकिन टॉड की तुलना में निराशाजनक था। मुझे उम्मीद है कि ऑरैकल अपने उत्पाद को एक दिन तक टॉड तक पकड़ लेगा लेकिन यह अभी तक नहीं है। एक अच्छा दिन है :) संभावना है कि अगर आप ऑरैकल में माइग्रेट कर रहे हैं तो यह एक कारण के लिए है और उस आवश्यकता को पूरा करने के लिए आपको बैक एंड कोड को फिर से लिखना होगा या आपको कई समस्याएं होंगी।

    4

    मुझे उल्लेख करने के लिए चीजें हैं।

    1) जब मैंने ओरेकल 8 पर काम किया, तो आप "रीज़ल्ट का चयन करें" नहीं कर सके, आपको इसके बजाय डमी टेबल का उपयोग करना होगा "दोहरी से @Result चुनें"। यकीन नहीं है कि अगर हास्यास्पदता अभी भी मौजूद है।

    2) ओरेकल दुनिया में वे कर्सर से प्यार करते हैं और आप उन्हें बेहतर ढंग से पढ़ते हैं, वे उन्हें हर समय अफ्रीका का उपयोग करते हैं।

    गुड लक और आनंद लें,

    यह है कि एमएस एसक्यूएल को अलग नहीं है। शुक्र है, मुझे अब इसके साथ काम करने की ज़रूरत नहीं है और मैं एमएस टूल्स के गर्म आराम में वापस आ गया हूं।

    0

    कुछ लोगों ने यहां पीछे और आगे परिवर्तित करने का उल्लेख किया है। मुझे एमएसएसएलएल से ओरेकल में कनवर्ट करने के लिए एक टूल के बारे में पता नहीं है, लेकिन मैंने ओएसकल डीबी को एमएसएसएलएल में बदलने के लिए फ्री एमएस टूल का इस्तेमाल किया और यह मेरे लिए काम किया और बिना किसी समस्या के एक बड़े डीबी को परिवर्तित किया। यह एमएसएसएलएल उपकरण तक पहुंच के समान है जो एमएस भी मुफ्त में प्रदान करता है।आनंद लें

    1

    ओरेकल एसक्यूएल डेवलपर में, अनुवाद स्क्रैच संपादक नामक एक उपकरण है। आप इसे टूल्स> माइग्रेशन से पा सकते हैं।

    ओरेकल एसक्यूएल डेवलपर ओरेकल से मुफ्त डाउनलोड है और यह एक आसान इंस्टॉल है।

    +1

    यह टीएसक्यूएल से पीएल/एसक्यूएल में परिवर्तित हो रहा है, न कि दूसरी तरफ। –

    +0

    ओरेकल स्क्रैचलांचर टी से पीएल तक जाता है। http://www.oracle.com/technetwork/database/migration/scratchlauncher-098387.html वहां अन्य टूल भी हैं: http://ceiton.com/CMS/EN/technologies/sql-compiler.html# समाधान लेकिन शायद कोई चांदी की बुलेट नहीं है। – user16583

    14

    मुझे इंप्रेशन मिलता है कि अधिकांश डेटाबेस एक संपूर्ण डेटाबेस माइग्रेट करने पर ध्यान केंद्रित करते हैं या बस टी-एसक्यूएल और पीएल/एसक्यूएल के बीच कुछ अंतरों को इंगित करते हैं। मुझे हाल ही में एक ही समस्या थी। ओरेकल डेटाबेस मौजूद है, लेकिन मुझे टी-एसक्यूएल स्क्रिप्ट्स के पूरे लोड को पीएल/एसक्यूएल में परिवर्तित करने की आवश्यकता है।

    मैंने Oracle SQL Developer स्थापित किया और Translation Scratch Editor (टूल्स> माइग्रेशन> अनुवाद स्क्रैच संपादक) चलाया।

    फिर, बस अपना टी-एसक्यूएल दर्ज करें, ड्रॉपडाउन सूची में सही अनुवाद चुनें (इसे 'टी-एसक्यूएल से पीएल/एसक्यूएल' में डिफ़ॉल्ट होना चाहिए), और इसे परिवर्तित करें।

    +0

    तो क्या आपको अनुवाद विश्वसनीय होने के लिए मिला है? –

    +1

    मेरे लिए यह था, हाँ। यह थोड़ी देर हो गया है, इसलिए मुझे यकीन नहीं है कि मुझे मामूली परिवर्तन करना है, लेकिन स्क्रिप्ट (या उनमें से कुछ) की समीक्षा करना सबसे अच्छा हो सकता है। साथ ही, मुझे पूरा यकीन है कि मेरे पास कोई विदेशी सामान नहीं था। लेकिन वे भरोसेमंद थे। – Peter