2010-08-05 12 views
6

Visual Studio Lightswitch के सभी डेमो SQL-सर्वर का उपयोग करते हैं, दृश्य स्टूडियो लाइट्सविच का उपयोग करके ओरेकल से डेटा तक पहुंचना संभव है?क्या विजुअल स्टूडियो लाइटविच एक ऑरैकल डेटाबेस से कनेक्ट हो सकता है?

+0

यह भी देखना http://meta.stackexchange.com/questions/59759/what-should-the-tag-for- विजुअल-स्टूडियो-लाइटविच- –

+0

इयान: मैंने आपके लिए एक उत्तर छोड़ा। आपके पास तीन विकल्प हैं (1) ओरेकल के ओडीपी.Net 11.2 आर 4, (2) थर्ड पार्टी ड्राइवर्स $$$, और (3) ओपन सोर्स। @ मैट ईसेनबर्ग सही रास्ते पर थे, लेकिन अधिक विकल्प हैं। –

उत्तर

5

दृश्य स्टूडियो LightSwitch इकाई की रूपरेखा के माध्यम से एक Oracle डाटाबेस को कायम किया जा सकता है।

  1. ओरेकल डेटा प्रदाता (ODP.Net)

    Oracle की ODAC उपकरण दृश्य स्टूडियो अनुप्रयोगों के साथ प्रयोग के लिए ओरेकल डेटा प्रदाता (ODP.Net) शामिल हैं। ओरेकल का नवीनतम ड्राइवर एंटिटी फ्रेमवर्क 4.1 और "मॉडल फर्स्ट" दृष्टिकोण के समर्थन के साथ।

    संपादित करें: मुझे यकीन नहीं है कि यह "कोड-फर्स्ट" या ईएफ 4.2 का समर्थन करता है, इसलिए दस्तावेज़ों की जांच करें। उस ने कहा, यह ओरेकल द्वारा मुफ़्त और समर्थित है, इसलिए मैं दृढ़ता से सुझाव दूंगा कि आप अपना खुद का रोल करने से पहले या ओपन सोर्स प्रदाताओं/ड्राइवर का उपयोग कर शुरू करें।

    Download ODP.Net 11.2.0.3

    EF Tutorial w/ ODP.Net

    नोट: "11.2.0.2 रिलीज 4" इसे काट देंगे, लेकिन बाहर और अधिक स्थिर "11.2.0.3 है।"

  2. तीसरे पक्ष के ड्राइवरों खरीद के लिए उपलब्ध हैं:

    docConnect for Oracle

    DevArt's ADO.Net Provider for Oracle

  3. मुक्त स्रोत प्रदाता

    इसके अलावा वहाँ कुछ खुला स्रोत विकल्प हैं उपलब्ध - एक मैंने पाया ओ n Github:

    https://github.com/object/NorthwindOData


ट्यूटोरियल पर MSDN: How to Connect Lightswitch to EF 4.1

+0

क्या ओरेकल के ओडीएसी टूल्स का हर संस्करण है जो बीटा में नहीं है लेकिन नेट के शिपिंग संस्करण को पूरी तरह से surport करता है? –

+0

हां। मैं अपना जवाब संपादित करना भूल गया - 11.2.0.3 पूरी तरह से रिलीज़ किया गया है, बीटा नहीं ... और यह इकाई फ्रेमवर्क 4.1 का समर्थन करता है - चेतावनी: यह "मॉडल पहले" और "4.1" का समर्थन करता है ... आपको दस्तावेज़ीकरण या पढ़ना होगा समर्थन पूछें यदि 4.1 और कोड-प्रथम दृष्टिकोण अच्छे हैं। –

7

हां, यदि आप इकाई ढांचे के लिए तीसरे भाग प्रदाता प्राप्त कर सकते हैं। मैंने वास्तव में इस सप्ताह वीएसएलई में इस सवाल से पूछा।

+0

इकाई ढांचे की लागत के लिए तीसरे भाग प्रदाता कितना खर्च करते हैं? और क्या किसी को यह जानने की ज़रूरत है कि प्रोग्राम को लाइट्सविच में कैसे लगाया जाए? –

+0

http://web.datadirect.com/products/net/net-for-oracle/index.html। आपके प्रश्न के दूसरे भाग के बारे में निश्चित नहीं है। –

+0

जहां तक ​​दूसरा भाग है, मुझे विश्वास है कि एक बार यह व्यक्ति की मशीन पर स्थापित हो जाने पर, वे केवल डेटा स्रोत के रूप में चुनते हैं। उन्हें कनेक्शन जानकारी जाननी होगी, जैसे कि वे किसी अन्य डेटा स्रोत का उपयोग कर रहे थे। लेकिन इसे हुक करने के लिए प्रोग्रामिंग ज्ञान की आवश्यकता नहीं है। –

0

LightSwitch training kit में डब्ल्यूसीएफ आरआईए सेवाओं के माध्यम से वैकल्पिक डेटा स्रोतों का उपयोग करने के लिए समर्पित अभ्यास है।

आपको यह उपयोगी लगता है।

3

मैंने नवीनतम ओडीएसी 11.2 रिलीज 4 (11.2.0.3.0) का उपयोग किया है जो इकाई फ्रेमवर्क का समर्थन करता है, और यह ठीक काम करता है।

आप इस त्रुटि मिलती है,:

आप BScholz से दूसरे पोस्ट का पालन करते हुए इस मुद्दे को हल कर सकते हैं, "आंतरिक अपवाद संदेश कनेक्शन पहले से ही एक स्थानीय या एक वितरित लेन-देन का हिस्सा है" https://forums.oracle.com/forums/thread.jspa?threadID=2263095

मूल रूप से , आपको Oracle डेटा स्रोत के लिए SaveChanges_Excuting और SaveChanges_Excuted को लागू करने की आवश्यकता है।

  1. स्विच "देखें फ़ाइल" के लिए (LightSwitch "तार्किक देखें" प्रदर्शित करेगा डिफ़ॉल्ट रूप से)।
  2. सर्वर प्रोजेक्ट में "System.Transactions" का संदर्भ जोड़ें।
  3. "लॉजिकल व्यू" पर वापस स्विच करें
  4. डेटा स्रोत नाम पर राइट क्लिक करें और आंशिक कक्षा को संपादित करने के लिए "कोड देखें" पर क्लिक करें।
  5. कॉपी और पेस्ट नीचे कोड:

    private TransactionScope _tscope; 
    
    partial void SaveChanges_Executing() 
    { 
        _tscope = new TransactionScope(TransactionScopeOption.Required, 
        new TransactionOptions 
        { 
         IsolationLevel = System.Transactions.IsolationLevel.ReadCommitted 
        }); 
    } 
    
    partial void SaveChanges_Executed() 
    { 
        _tscope.Complete(); 
        _tscope.Dispose(); 
    } 
    
संबंधित मुद्दे