परिचय
Microsoft Access एक लोकप्रिय डेस्कटॉप डेटाबेस प्रबंधन प्रणाली है जिसमें रिलेशनल DBMS के साथ एप्लिकेशन डेवलपमेंट टूल (फॉर्म, रिपोर्ट, क्वेरी, VBA मैक्रोज़) शामिल हैं। एमएस एक्सेस व्यक्तिगत उपयोगकर्ताओं या छोटे कार्यसमूहों के लिए आदर्श है जहां कुछ उपयोगकर्ता स्थानीय क्षेत्र नेटवर्क पर एमएस एक्सेस डेटाबेस फ़ाइल साझा करके एक ही समय में डेटा पर काम करते हैं।
हालाँकि, एक बार एक साथ उपयोगकर्ताओं की संख्या एक मुट्ठी भर से अधिक हो जाने पर, MS Access को डेटा साझा करने में समस्याएँ आने लगती हैं। इस "स्केल अप" समस्या का एक समाधान एमएस एक्सेस डेटाबेस को विभाजित करना और डेटा को सर्वर आधारित डीबीएमएस जैसे माइक्रोसॉफ्ट एसक्यूएल सर्वर में होस्ट करना है।
माइक्रोसॉफ्ट एक एमएस एक्सेस डेटाबेस से SQL सर्वर में डेटाबेस टेबल को स्थानांतरित करने में सहायता के लिए "एमएस एक्सेस के लिए माइक्रोसॉफ्ट एसक्यूएल सर्वर माइग्रेशन सहायक" (एसएसएमए) नामक एक आसान उपकरण प्रदान करता है। इस प्रक्रिया के वास्तविक चरणों में जाने से पहले एमएस एक्सेस डेटाबेस सिस्टम के आर्किटेक्चर को समझना मददगार होता है। इस वास्तुकला का वर्णन अगले पृष्ठ पर शुरू किया गया है।
पूर्व-आवश्यकताएं
इस ट्यूटोरियल के साथ आगे बढ़ने से पहले, सुनिश्चित करें कि निम्न सॉफ़्टवेयर मौजूद है।
यह ट्यूटोरियल विंडोज 7 64-बिट ऑपरेटिंग सिस्टम पर चलने वाले माइक्रोसॉफ्ट एक्सेस 2013 (64-बिट एमएस ऑफिस से) का उपयोग करके लिखा गया था। एमएस एक्सेस 2010 और 2016 भी काम कर सकते हैं लेकिन परीक्षण नहीं किया गया है। एमएस ऑफिस की जांच करना सुनिश्चित करें क्योंकि 32-बिट एमएस एक्सेस के पास एसएसएमए को काम करने की अनुमति देने के लिए उचित समर्थन नहीं होगा।
आपको MS Access 2010 रनटाइम सॉफ़्टवेयर भी स्थापित करने की आवश्यकता हो सकती है। यह सॉफ्टवेयर मूल रूप से एमएस एक्सेस के पूर्ण संस्करण को स्थापित करने की आवश्यकता के बिना एमएस एक्सेस डेटाबेस फ़ाइलों को पढ़ने के लिए डिज़ाइन किया गया था। QL सर्वर माइग्रेशन असिस्टेंट MS Access फाइल्स को खोलने के लिए MS Access 2010 रनटाइम में डेटा एक्सेस ऑब्जेक्ट्स (DAO) भागों का उपयोग करता है।
एक नमूना एमएस एक्सेस डेटाबेस फ़ाइल प्रदान की गई है (इस फ़ाइल के लिंक के लिए अगले पृष्ठ देखें)।
लक्ष्य डेटाबेस प्रबंधन प्रणाली Microsoft SQL सर्वर होगी। इस ट्यूटोरियल के लिए SQL सर्वर इंस्टेंस के लिए क्रेडेंशियल (उपयोगकर्ता नाम, पासवर्ड आदि) की आवश्यकता होती है। आप अपने पीसी या सर्वर पर एमएस एसक्यूएल सर्वर स्थापित कर सकते हैं, अपने घर या कार्यस्थल में मौजूदा सर्वर का उपयोग कर सकते हैं, या अपने लिए एसक्यूएल सर्वर होस्ट करने के लिए क्लाउड आधारित सेवा का उपयोग कर सकते हैं। गियरहोस्ट पर SQL सर्वर इंस्टेंस सेट करने पर एक ट्यूटोरियल यहाँ दिया गया है:/geting-started-with-gearhost-for-sql-server-database-development/
ध्यान दें कि 2021 से, GearHost के पास अब फ्री-टियर SQL सर्वर इंस्टेंस नहीं है। आप Microsoft Azure पर और Azure SQL डेटाबेस का उपयोग करके विद्यार्थी खाता प्राप्त करने का प्रयास कर सकते हैं।
आपके पास Microsoft SQL सर्वर प्रबंधन स्टूडियो भी होना चाहिए जो सीधे SQL सर्वर का पता लगाने और उसके साथ काम करने के लिए उपलब्ध हो। अपने SQL सर्वर इंस्टेंस से कनेक्ट करने और एक खाली डेटाबेस बनाने के लिए SQL सर्वर प्रबंधन स्टूडियो का उपयोग करें।
इस ट्यूटोरियल के लिए GearHost द्वारा होस्ट किया गया SQL सर्वर इंस्टेंस का उपयोग किया जाता है। नीचे दिए गए SQL सर्वर प्रबंधन स्टूडियो ऑब्जेक्ट एक्सप्लोरर में दिखाए गए अनुसार testmssqldb1 नाम का एक नमूना डेटाबेस बनाया गया था।
अंत में, किसी भी MS Access डेटाबेस फ़ाइल (फ़ाइलों) को SQL सर्वर पर माइग्रेट करने से पहले उनका बैकअप बनाना सुनिश्चित करें।
अगला खंड Microsoft Access डेटाबेस के आर्किटेक्चर का परिचय देता है।
Microsoft Access डेटाबेस आर्किटेक्चर
डेटा स्टोर करने के लिए डेटाबेस का उपयोग करने वाली अधिकांश सूचना प्रणालियों को चार मुख्य घटकों द्वारा वर्णित किया जा सकता है:
- उपयोगकर्ता इंटरफ़ेस - ये वे रूप, रिपोर्ट और प्रश्न हैं जिनके साथ सिस्टम के अंतिम उपयोगकर्ता इंटरैक्ट करते हैं।
- व्यावसायिक तर्क - यह प्रोग्रामिंग कोड है जो संगठन द्वारा संचालित विभिन्न व्यावसायिक नियमों को लागू करता है। उदाहरण के लिए, एक व्यावसायिक नियम हो सकता है कि किसी भी कर्मचारी को एक परियोजना पर प्रति सप्ताह 30 घंटे से अधिक नहीं सौंपा जा सकता है। यह नियम प्रोग्रामिंग कोड में लागू किया जाएगा।
- डेटाबेस प्रबंधन प्रणाली - यह डेटाबेस में डेटा को मैनेज करने के लिए इस्तेमाल किया जाने वाला सॉफ्टवेयर है। इसमें कई उपयोगकर्ताओं को डेटा के साथ सुरक्षित रूप से काम करने की अनुमति देने के लिए समवर्ती नियंत्रण जैसी विशेषताएं भी हो सकती हैं। DBMS के कुछ उदाहरणों में MS Access, MS SQL Server, Oracle, MySQL और Postgres शामिल हैं।
- डेटाबेस - यह वह जगह है जहां वास्तविक डेटा संग्रहीत किया जाता है। आमतौर पर डेटा को डेटाबेस टेबल के एक सेट में व्यवस्थित किया जाता है। प्रत्येक तालिका में कॉलम और डेटा रिकॉर्ड होते हैं।
एक डेटाबेस सिस्टम आर्किटेक्चर वर्णन करता है कि इन चार घटकों में से प्रत्येक को कैसे व्यवस्थित किया जाता है। अक्सर "फ्रंट एंड" शब्द का प्रयोग यूजर इंटरफेस और बिजनेस लॉजिक घटकों का वर्णन करने के लिए किया जाता है। "बैक एंड" में DBMS और डेटाबेस होते हैं।
एक डेस्कटॉप DBMS के रूप में, MS Access डेटाबेस सिस्टम एप्लिकेशन के सभी घटकों को एक फ़ाइल में संग्रहीत करता है। डीबीएमएस सॉफ्टवेयर डेस्कटॉप कंप्यूटर पर चलता है। डेटा एंट्री फॉर्म, रिपोर्ट और क्वेरीज़ उसी एमएस एक्सेस डेटाबेस फ़ाइल (.accdb फ़ाइल) में संग्रहीत डेटाबेस टेबल के साथ इंटरैक्ट करते हैं जैसा कि नीचे दिए गए चित्र में दिखाया गया है।
स्थानीय क्षेत्र नेटवर्क पर एमएस एक्सेस डेटा साझा करने के लिए, हम डेटाबेस फ़ाइल को दो में "विभाजित" कर सकते हैं। एक फ़ाइल में प्रपत्र, रिपोर्ट, प्रश्न और डेटाबेस अनुप्रयोग के अन्य भाग होंगे, जबकि दूसरी डेटाबेस फ़ाइल में केवल डेटाबेस तालिकाएँ और उनका डेटा होगा। एप्लिकेशन घटक (फॉर्म, रिपोर्ट, आदि) डेटा को पुनः प्राप्त करने और अपडेट करने के लिए दूसरी डेटाबेस फ़ाइल के बाहरी लिंक का उपयोग करेंगे। यह नीचे दिए गए चित्र में दिखाया गया है।
जैसे-जैसे यूजर्स की संख्या बढ़ेगी, डेटा शेयर करने का यह तरीका सीमित होता जाएगा। इस स्थिति में हम डेटाबेस तालिकाओं को Microsoft SQL सर्वर पर माइग्रेट कर सकते हैं। फिर से बाहरी लिंक का उपयोग एप्लिकेशन घटकों (फॉर्म, रिपोर्ट आदि) को डेटाबेस टेबल से जोड़ने के लिए किया जाएगा जैसा कि नीचे दिए गए चित्र में दिखाया गया है।
SQL सर्वर दृष्टिकोण के लिए यह "विभाजन" या "अप-साइज़िंग" इस ट्यूटोरियल का फोकस है।
अगला खंड एक नमूना MS Access डेटाबेस का परिचय देता है जिसका उपयोग डेटाबेस माइग्रेशन को प्रदर्शित करने के लिए किया जाएगा।
उदाहरण कर्मचारी डेटाबेस
यह ट्यूटोरियल एक साधारण कर्मचारी डेटाबेस का उपयोग करता है जिसे इस लिंक से डाउनलोड किया जा सकता है। इस डेटाबेस में 4 मुख्य टेबल हैं:विभाग, कर्मचारी, प्रोजेक्ट और प्रोजेक्ट_असाइनमेंट।
तालिकाओं के बीच संबंध नीचे दिखाए गए हैं:
5 डाटा एंट्री फॉर्म, एक क्वेरी और एक रिपोर्ट हैं।
ट्यूटोरियल में आगे बढ़ने से पहले इस डेटाबेस को एक्सप्लोर करने के लिए कुछ मिनट निकालें। एक बार एक्सप्लोर करने के बाद डेटाबेस फ़ाइल को बंद करना सुनिश्चित करें। यदि आप भविष्य में इस ट्यूटोरियल को दोहराना चाहते हैं तो फ़ाइल का बैकअप भी लें।
इस ट्यूटोरियल के अगले भाग में, एमएस एक्सेस यूटिलिटीज के लिए माइक्रोसॉफ्ट एसक्यूएल सर्वर माइग्रेशन असिस्टेंट को डाउनलोड और इंस्टॉल किया जाएगा।
एमएस एक्सेस के लिए माइक्रोसॉफ्ट एसक्यूएल सर्वर माइग्रेशन असिस्टेंट को डाउनलोड और इंस्टॉल करना
MS Access के लिए Microsoft SQL सर्वर माइग्रेशन सहायक को निम्न Microsoft वेब साइट से डाउनलोड किया जा सकता है:https://www.microsoft.com/en-us/download/details.aspx?id=54255
डाउनलोड करें . क्लिक करें बटन और फिर नई फाइल को सेव करें। फ़ाइल का नाम Access.7.3.0.msi के लिए SSMA जैसा कुछ होना चाहिए, हालांकि भविष्य में एक नया संस्करण उपलब्ध हो सकता है। एक्सेस के लिए SSMA पर डबल-क्लिक करें। इंस्टॉलर लॉन्च करने के लिए 7.3.0.msi फ़ाइल।
जब स्वागत स्क्रीन दिखाई दे, तो अगला . क्लिक करें अगले चरण पर जाने के लिए बटन।
अंतिम-उपयोगकर्ता लाइसेंस अनुबंध को पढ़ें, मैं अनुबंध को स्वीकार करता हूं . पर क्लिक करें रेडियो बटन पर क्लिक करें और फिर अगला . पर क्लिक करें जारी रखने के लिए बटन।
कस्टम इंस्टॉल . पर क्लिक करें बटन और फिर स्थापना स्थान के साथ-साथ स्थापित करने के लिए सुविधाओं का चयन करें। स्थापित करने के लिए सभी सुविधाएँ चुनें और एक गंतव्य चुनें (आमतौर पर C:ड्राइव)। अगला क्लिक करें जारी रखने के लिए बटन।
इस बिंदु पर उत्पाद स्थापित करने के लिए तैयार है। इंस्टॉल करें . क्लिक करें जारी रखने के लिए बटन।
इंस्टॉलेशन को पूरा करने में इंस्टॉलर को कुछ मिनट लगेंगे। उस समय के दौरान एक स्थिति स्क्रीन दिखाई देगी जैसा कि नीचे दिखाया गया है।
एक बार SSMA इंस्टालेशन पूर्ण हो जाने पर, समाप्त . क्लिक करें बटन।
एक्सेस के लिए SQL सर्वर माइग्रेशन असिस्टेंट विंडोज स्टार्ट मेन्यू पर दिखाई देगा। एक्सेस समूह के लिए एक SQL सर्वर माइग्रेशन सहायक भी होगा।
अब जब SSMA स्थापित हो गया है, तो MS Access डेटाबेस को माइग्रेट किया जा सकता है। इन चरणों की रूपरेखा अगले पृष्ठ पर दी गई है।
MS Access डेटाबेस को माइग्रेट करना
सुनिश्चित करें कि आपके पास अपने एमएस एक्सेस डेटाबेस की एक बैकअप प्रति है।
Windows प्रारंभ मेनू पर एक्सेस मेनू आइटम के लिए Microsoft SQL सर्वर माइग्रेशन सहायक का पता लगाएँ और SSMA लॉन्च करने के लिए उस पर क्लिक करें।
SSMA विजार्ड वेलकम स्क्रीन दिखाते हुए दिखाई देगा। पूरा होने वाले 6 चरणों की रूपरेखा पर ध्यान दें। इस बिंदु पर आपको MS Access कर्मचारी डेटाबेस फ़ाइल के साथ-साथ MS SQL सर्वर डेटाबेस के लिए क्रेडेंशियल उपलब्ध कराने की आवश्यकता होगी। अगला क्लिक करें विज़ार्ड में पहले चरण पर जाने के लिए बटन।
पहला कदम एक नया माइग्रेशन प्रोजेक्ट बनाना है। परियोजना को एक नाम दें (इस उदाहरण के लिए कर्मचारी_डेटाबेस_माइग्रेशन_प्रोजेक्ट का उपयोग किया जाता है)। प्रोजेक्ट को स्टोर करने के लिए एक फ़ोल्डर का चयन करें। अंत में लक्ष्य SQL सर्वर डेटाबेस के लिए SQL सर्वर संस्करण का चयन करें। इस उदाहरण में SQL सर्वर 2016 का उपयोग किया जाएगा। एक बार समाप्त हो जाने पर, अगला . क्लिक करें बटन।
अगला चरण माइग्रेट किए जाने वाले MS Access डेटाबेस को जोड़ना है। इस बिंदु पर फॉर्म खाली दिखना चाहिए। डेटाबेस जोड़ें क्लिक करें बटन।
कर्मचारी.एसीसीडीबी फ़ाइल वाले फ़ोल्डर में नेविगेट करें और उस फ़ाइल का चयन करें। खोलें . क्लिक करें बटन।
कर्मचारी.एसीसीडीबी फ़ाइल अब सूचीबद्ध होनी चाहिए। अगला क्लिक करें जारी रखने के लिए बटन।
अब जब MS Access डेटाबेस खोल दिया गया है, तो अगला चरण SQL सर्वर में माइग्रेट किए जाने वाले डेटाबेस की सामग्री का चयन करना है। आम तौर पर, केवल टेबल्स को माइग्रेट किया जाएगा और इन्हें डिफ़ॉल्ट रूप से चुना जाना चाहिए। यह भी ध्यान दें कि कोई भी अनुक्रमणिका और प्राथमिक कुंजियाँ जो प्रत्येक तालिका का हिस्सा हैं, उन्हें भी माइग्रेट किया जाएगा। (यदि कोई तालिका सूचीबद्ध नहीं है, तो MS Access 2010 रनटाइम सॉफ़्टवेयर स्थापित करें और पुनः प्रयास करें)।
इस उदाहरण के लिए, सुनिश्चित करें कि डेटाबेस तालिकाएँ सभी चयनित हैं जैसा कि नीचे दिखाया गया है। अगला . पर क्लिक करें जारी रखने के लिए बटन।
विज़ार्ड में अगला चरण लक्ष्य SQL सर्वर आवृत्ति के लिए क्रेडेंशियल निर्दिष्ट करना है। अपने SQL सर्वर कॉन्फ़िगरेशन के अनुसार फ़ील्ड भरें। इस उदाहरण के लिए, गियरहोस्ट पर SQL सर्वर इंस्टेंस का उपयोग किया जाता है।
होस्ट का नाम सर्वर का इंटरनेट होस्ट नाम या आईपी पता होगा। यदि आपके स्थानीय पीसी या सर्वर पर SQL सर्वर स्थापित है, तो सर्वर नाम के रूप में लोकलहोस्ट का उपयोग करें।
सर्वर पोर्ट SQL सर्वर श्रोता के लिए पोर्ट नंबर है। इसे डिफ़ॉल्ट पर छोड़ दें (जब तक कि आपने अपने SQL सर्वर पर इस कॉन्फ़िगरेशन को नहीं बदला है)।
डेटाबेस SQL सर्वर आवृत्ति पर डेटाबेस निवासी का नाम होगा। इस उदाहरण के लिए, सर्वर पर testmssqldb1 नाम का एक नमूना डेटाबेस पहले से ही बनाया गया था।
प्रमाणीकरण . की विधि चुनें आपके SQL सर्वर इंस्टेंस के लिए। इस उदाहरण के लिए, SQL सर्वर प्रमाणीकरण का उपयोग किया जाएगा। SQL सर्वर इंस्टेंस से जुड़ा एक उपयोगकर्ता नाम और पासवर्ड प्रदान किया जाना चाहिए।
उपयोगकर्ता नाम और पासवर्ड सहित शेष क्रेडेंशियल भरें और उपयुक्त विकल्प चुनें कि क्या कनेक्शन एन्क्रिप्ट किया जाना है या नहीं।
एक बार सभी क्रेडेंशियल दर्ज हो जाने के बाद, अगला . क्लिक करें बटन।
इस बिंदु पर, माइग्रेशन विज़ार्ड परिणामी SQL सर्वर डेटाबेस तालिकाओं के लिए डेटाबेस एप्लिकेशन (फॉर्म, रिपोर्ट, आदि) को लिंक करने के लिए संकेत देगा। इस मामले में बिल्कुल यही आवश्यक है। सुनिश्चित करें कि लिंक टेबल चेकबॉक्स चयनित है और अगला . पर क्लिक करें बटन।
माइग्रेशन स्थिति स्क्रीन दिखाई देगी क्योंकि स्रोत डेटा का विश्लेषण किया जाता है और SQL सर्वर में लोड करने के लिए तैयार किया जाता है।
रूपांतरण के बाद, एक संवाद बॉक्स सभी तालिकाओं और उनके संबंधित अनुक्रमणिका और ट्रिगर्स (यदि मौजूद है) की एक सूची दिखाते हुए दिखाई देगा। इस उदाहरण में, सभी टेबल और उनके संबंधित ऑब्जेक्ट SQL सर्वर पर माइग्रेट किए जाएंगे। ठीक क्लिक करें इस डायलॉग बॉक्स को बंद करने के लिए बटन।
विज़ार्ड तालिका डेटा को संसाधित करना और परिवर्तित ऑब्जेक्ट को डेटाबेस में लोड करना जारी रखेगा।
रूपांतरित तालिकाओं को लिंक करें . के दौरान चरण, विज़ार्ड SQL सर्वर क्रेडेंशियल्स को फिर से दर्ज करने के लिए संकेत दे सकता है। इन क्रेडेंशियल्स को दोबारा आपूर्ति करें और कनेक्ट करें . क्लिक करें बटन।
माइग्रेशन विज़ार्ड जारी रहेगा. माइग्रेशन पूर्ण होने पर एक सारांश स्क्रीन दिखाई देगी। यदि कोई त्रुटि थी, तो संबंधित रिपोर्ट . पर क्लिक करें उनकी समीक्षा करने के लिए बटन। जब हो जाए, तो बंद करें . क्लिक करें बटन।
मुख्य SSMA स्क्रीन दिखाई देगी। फ़ाइल को नीचे खींचें मेनू और प्रोजेक्ट सहेजें . चुनें वर्तमान परियोजना को बचाने के लिए। कर्मचारी . चुनें मेटाडेटा निकालने और सहेजने के लिए डेटाबेस।
इस बिंदु पर माइग्रेशन कार्य पूरा हो गया है और हम SSMA प्रोग्राम से बाहर निकल सकते हैं।
ट्यूटोरियल का अंतिम भाग दर्शाता है कि नए माइग्रेट किए गए MS Access डेटाबेस एप्लिकेशन को कैसे चलाया जाए।
MS Access डेटाबेस एप्लिकेशन चलाना
MS Access में Employeedb.accdb डेटाबेस फ़ाइल खोलें। ध्यान दें कि मूल तालिकाओं का अब नाम बदल दिया गया है। उदाहरण के लिए मूल कर्मचारी तालिका को अब SSMA$कर्मचारी$स्थानीय नाम दिया गया है। यह तालिका अभी भी Employeedb.accdb डेटाबेस फ़ाइल के अंदर संग्रहीत है।
चार नए डेटाबेस तालिका लिंक निर्मित किया जा चुका है। इन नामों को संदर्भित करने वाले सभी मौजूदा फॉर्म, क्वेरी और रिपोर्ट अब इसके बजाय SQL सर्वर डेटाबेस पर प्रत्येक तालिका के लिंक को संदर्भित करेंगे। इसका परीक्षण करने के लिए विभाग डाटा एंट्री फॉर्म खोलें।
जैसा कि नीचे दिखाया गया है, आपको "लॉगिन" या "कनेक्शन विफल" त्रुटि संदेश प्राप्त हो सकता है:
ओके बटन पर क्लिक करें और फिर SQL सर्वर इंस्टेंस के लिए उपयुक्त क्रेडेंशियल्स की आपूर्ति करें। फिर ठीक . क्लिक करें बटन।
अंतिम-उपयोगकर्ता के दृष्टिकोण से, प्रपत्र के दिखने या कार्य करने के तरीके में कोई परिवर्तन नहीं हुआ है। उपयोगकर्ताओं को अनुभव हो सकने वाली एकमात्र छोटी समस्या डेटा का एक बड़ा संग्रह खोलने में थोड़ी देरी है क्योंकि अनुरोध को दूरस्थ SQL सर्वर इंस्टेंस पर भेजा जाना चाहिए, जिसके बाद परिणामों को पैकेज करने और उन्हें एमएस एक्सेस डेटाबेस एप्लिकेशन पर वापस करने की आवश्यकता होती है।पी>
कुछ अतिरिक्त डेटा प्रविष्टि फॉर्म खोलें और सुनिश्चित करें कि वे सभी ठीक से काम कर रहे हैं।
एक बार माइग्रेट किए गए डेटाबेस की कार्यक्षमता की पुष्टि हो जाने के बाद, मूल (अब नाम बदला गया) तालिकाओं को Employeedb.accdb डेटाबेस फ़ाइल से हटाया जा सकता है। इस चरण के बाद, Employeedb.accdb डेटाबेस फ़ाइल उपयोगकर्ताओं को वितरित की जा सकती है ताकि वे उस डेटा के साथ काम करना शुरू कर सकें जो अब SQL सर्वर इंस्टेंस में केंद्रीय स्थान पर संग्रहीत है।