Power Apps से SQL सर्वर कनेक्ट करें

आप Azure या ऑन-प्रिमाइसेस डेटाबेस में SQL सर्वर से कनेक्ट कर सकते हैं।

नोट

नए बनाए गए SQL डेटा स्रोतों में अब पिछले संस्करणों की तरह [dbo] उपसर्ग नहीं लगाया गया है। Power Apps

अधिक जानकारी के लिए, सामान्य मुद्दे और समाधान देखें। Power Apps

अनुप्रयोग अपने आप जनरेट करें

आप किस Power Apps इंटरफ़ेस का उपयोग कर रहे हैं उसके आधार पर, नए लुक या क्लासिक लुक एक ऐप बनाने के लिए।

  1. Power Apps में साइन इन करें.
  2. होम पेज से, या तो एकल पेज गैलरी या तीन स्क्रीन चुनें मोबाइल विकल्प:
  • रिस्पॉन्सिव लेआउट के साथ एकल-पेज गैलरी ऐप बनाने के लिए, इनमें से कोई एक चुनें:
    • डेटा से प्रारंभ करें > बाहरी डेटा चुनें > SQL से
    • पृष्ठ डिज़ाइन से प्रारंभ करें > बाहरी डेटा से जुड़ी गैलरी > SQL से
  • तीन स्क्रीन वाला मोबाइल ऐप बनाने के लिए, ऐप टेम्पलेट से प्रारंभ करें > SQL से चुनें।
  1. अपना SQL कनेक्शन चुनें और फिर एक तालिका चुनें। एक अलग कनेक्शन चुनने के लिए, अपना कनेक्शन स्विच करने या नया SQL कनेक्शन बनाने के लिए ... ओवरफ़्लो मेनू का चयन करें।

    नोट

    एक समय में केवल एक ही कनेक्शन दिखाया जाता है.

  2. जब आपका काम पूरा हो जाए, तो ऐप बनाएं चुनें।

संग्रहीत कार्यविधियों को सीधे Power Fx में कॉल करें (पूर्वावलोकन)

आप SQL सर्वर संग्रहीत कार्यविधि पूर्वावलोकन स्विच को चालू करके Power Fx से सीधे SQL सर्वर संग्रहीत कार्यविधियाँ कॉल कर सकते हैं।

नोट

आउटपुट पैरामीटर समर्थित नहीं हैं.

  1. सेटिंग्स > आगामी सुविधाएं > पूर्वावलोकन पर जाएं।
  2. संग्रहीत कार्यविधियाँ खोजें।
  3. SQL सर्वर संग्रहीत प्रक्रियाओं के लिए टॉगल को चालू पर सेट करें
  4. ऐप को सेव करें और दोबारा खोलें।

स्क्रीनशॉट जो SQL सर्वर संग्रहीत प्रक्रियाओं को चालू पर सेट टॉगल दिखाता है।

जब आप अपने ऐप में SQL सर्वर कनेक्शन जोड़ते हैं, तो अब आप तालिकाएँ और दृश्य या संग्रहीत कार्यविधियाँ जोड़ सकते हैं। यह सुविधा सुरक्षित अंतर्निहित कनेक्शन के साथ भी काम करती है।

स्क्रीनशॉट जो आपके ऐप में जोड़ने के लिए उपलब्ध तालिकाओं, दृश्यों और संग्रहीत प्रक्रियाओं की सूची दिखाता है।

यदि आप तुरंत अपनी संग्रहीत प्रक्रिया नहीं देखते हैं, तो इसे खोजना तेज़ है।

एक बार जब आप संग्रहीत प्रक्रिया का चयन करते हैं, तो एक चाइल्ड नोड दिखाई देता है और आप संग्रहीत प्रक्रिया को गैलरी और तालिकाओं के लिए उपयोग करने के लिए सुरक्षित के रूप में नामित कर सकते हैं। यदि आप इस विकल्प को चेक करते हैं, तो आप अपनी संग्रहित प्रक्रिया को अपने ऐप में उपयोग करने के लिए तालिकाओं के लिए गैलरी के लिए आइटम संपत्ति के रूप में निर्दिष्ट कर सकते हैं।

इस विकल्प को केवल तभी सक्षम करें यदि:

  1. इस प्रक्रिया को मांग पर कई बार कॉल करने पर कोई दुष्प्रभाव नहीं है जब भी Power Apps नियंत्रण को ताज़ा करता है। जब किसी गैलरी या टेबल की आइटम्स प्रॉपर्टी के साथ उपयोग किया जाता है, तो Power Apps जब भी सिस्टम निर्धारित करता है कि रिफ्रेश की आवश्यकता है, संग्रहीत प्रक्रिया को कॉल करता है। जब संग्रहीत प्रक्रिया को कॉल किया जाता है तो आप नियंत्रित नहीं कर सकते।
  2. संग्रहीत प्रक्रिया में आपके द्वारा लौटाए गए डेटा की मात्रा मामूली है। कार्रवाई कॉल, जैसे संग्रहीत कार्यविधियाँ, पुनर्प्राप्त पंक्तियों की संख्या पर कोई सीमा नहीं है। वे तालिका या दृश्य जैसे सारणीबद्ध डेटा स्रोतों की तरह 100 रिकॉर्ड वृद्धि में स्वचालित रूप से पृष्ठांकित नहीं होते हैं। इसलिए, यदि संग्रहीत प्रक्रिया बहुत अधिक डेटा (कई हजारों रिकॉर्ड) लौटाती है तो आपका ऐप धीमा या क्रैश हो सकता है। प्रदर्शन कारणों से आपको 2,000 से कम रिकॉर्ड लाने चाहिए।

महत्वपूर्ण

संग्रहीत कार्यविधि के रिटर्न मानों की स्कीमा स्थैतिक होनी चाहिए। मतलब यह कि यह कॉल दर कॉल नहीं बदलता है। उदाहरण के लिए, यदि आप एक संग्रहीत प्रक्रिया को कॉल करते हैं और यह दो तालिकाएँ लौटाती है तो इसे हमेशा दो तालिकाएँ लौटानी चाहिए। यदि परिणामों का स्कीमा गतिशील है तो आपको इसका उपयोग नहीं करना चाहिए। Power Apps उदाहरण के लिए यदि आप संग्रहीत प्रक्रिया को कॉल करते हैं और यह कभी एक तालिका लौटाती है और कभी-कभी दो तालिकाएँ लौटाती है तो यह सही ढंग से काम नहीं करेगी। Power Apps Power Apps इस कॉल के लिए एक स्थिर स्कीमा की आवश्यकता है।

उदाहरण

जब आप एक संग्रहीत प्रक्रिया जोड़ते हैं, तो आप अपने प्रोजेक्ट में एक से अधिक डेटा स्रोत देख सकते हैं।

स्क्रीनशॉट जो SQL डेटा स्रोत दिखाता है।

Power Apps में संग्रहीत प्रक्रिया का उपयोग करने के लिए, पहले संग्रहीत प्रक्रिया नाम के पहले उससे जुड़े कनेक्टर का नाम और संग्रहीत प्रक्रिया का नाम जोड़ें। उदाहरण में 'Paruntimedb.dbonewlibrarybook' इस पैटर्न को दर्शाता है। यह भी ध्यान दें कि जब Power Apps संग्रहीत प्रक्रिया लाता है, तो यह पूरा नाम जोड़ता है। तो, 'dbo.newlibrarybook' 'dbonewlibrarybook' बन जाता है।

जब आप Power Apps में एक पाठ मान से पढ़ रहे हों, तो आवश्यकतानुसार मानों को अपनी संग्रहीत प्रक्रिया में पास करते समय उन्हें उचित रूप से परिवर्तित करना याद रखें। उदाहरण के लिए, यदि आप SQL में पूर्णांक अपडेट कर रहे हैं तो आपको 'Value()' का उपयोग करके टेक्स्ट को फ़ील्ड में कनवर्ट करना होगा।

संग्रहित प्रक्रियाओं को सीधे कॉल करना।

यूआई के लिए सुरक्षित घोषित करने के बाद आप गैलरी की आइटम संपत्ति के लिए संग्रहीत प्रक्रिया तक पहुंच सकते हैं। डेटा स्रोत नाम और 'ResultSets' के बाद संग्रहित प्रक्रिया के नाम का संदर्भ लें। आप तालिका 1, तालिका 2, आदि जैसे लौटाए गए तालिकाओं के सेट का संदर्भ देकर एकाधिक परिणामों तक पहुंच सकते हैं।

उदाहरण के लिए, 'Paruntimedb' नामक डेटा स्रोत से 'dbo.spo_show_all_library_books()' नामक संग्रहीत प्रक्रिया के साथ संग्रहीत प्रक्रिया तक आपकी पहुंच निम्नलिखित की तरह दिखाई देगी।

Paruntimedb.dbospshowalllibrarybooks().ResultSets.Table1

यह गैलरी को रिकॉर्ड से भर देता है। हालाँकि, संग्रहित प्रक्रियाएँ सारणीबद्ध मॉडल में क्रिया व्यवहारों का एक जोड़ हैं। रिफ्रेश() केवल सारणीबद्ध डेटा स्रोतों के साथ काम करता है और संग्रहीत प्रक्रियाओं के साथ इसका उपयोग नहीं किया जा सकता है। फिर जब कोई रिकॉर्ड बनाया जाता है, अपडेट किया जाता है या हटाया जाता है, तो आपको गैलरी को रीफ्रेश करना होगा। जब आप सारणीबद्ध डेटा स्रोत के लिए किसी फॉर्म पर Submit() का उपयोग करते हैं तो यह प्रभावी रूप से कवर के नीचे Refresh() को कॉल करता है और गैलरी को अपडेट करता है।

इस सीमा को पार करने के लिए, स्क्रीन के लिए ऑनविज़िबल प्रॉपर्टी में एक वेरिएबल का उपयोग करें और संग्रहीत प्रक्रिया को वेरिएबल पर सेट करें।

Set(SP_Books, Paruntimedb.dbospshowalllibrarybooks().ResultSets.Table1);

और फिर गैलरी की 'आइटम' प्रॉपर्टी को वेरिएबल नाम पर सेट करें।

SP_Books

फिर संग्रहीत कार्यविधि पर कॉल के साथ रिकॉर्ड बनाने, अपडेट करने या हटाने के बाद, वेरिएबल को फिर से सेट करें। इससे गैलरी अपडेट हो जाती है.

Paruntimedb.dbonewlibrarybook({   
  book_name: DataCardValue3_2.Text, 
  author: DataCardValue1_2.Text,
    ...
});
Set(SP_Books, Paruntimedb.dbospshowalllibrarybooks().ResultSets.Table1);

ज्ञात समस्याएँ

SQL डेटा स्रोत अब डेटा स्रोत नाम में [dbo] उपसर्ग नहीं जोड़ते हैं

[dbo] उपसर्ग Power Apps में कोई व्यावहारिक उद्देश्य पूरा नहीं करता है क्योंकि डेटा स्रोत नाम स्वचालित रूप से अस्पष्ट हो जाते हैं। मौजूदा डेटा स्रोत इस परिवर्तन से प्रभावित नहीं होते हैं, लेकिन किसी भी नए जोड़े गए SQL डेटा स्रोत में उपसर्ग शामिल नहीं होता है।

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

नोट

संस्करण 3.21054 से शुरू करके, हम डेटा स्रोत को पढ़ने के बाद स्वचालित रूप से टूटे हुए विरासत नाम संदर्भों को नए डेटा स्रोत नाम में अपडेट कर देंगे।

अगले कदम

नोट

क्या आप हमें अपनी दस्तावेज़ीकरण भाषा वरीयताओं के बारे में बता सकते हैं? एक छोटा सर्वेक्षण पूरा करें. (कृपया ध्यान दें कि यह सर्वेक्षण अंग्रेज़ी में है)

सर्वेक्षण में लगभग सात मिनट लगेंगे. कोई भी व्यक्तिगत डेटा एकत्र नहीं किया जाता है (गोपनीयता कथन).