एक MySQL डेटाबेस बैक-एंड के सामने के अंत के रूप में एमएस एक्सेस का उपयोग करने वाले मुद्दे?

दो उपयोगकर्ता एक ही डेटाबेस को साझा करना चाहते थे, मूल रूप से एमएस एक्सेस में लिखा गया था, बिना किसी एमडीबी फ़ाइल पर एक-दूसरे के साथ विवाद किए।

मैंने अपने माइग्रेशन टूलकिट का उपयोग करके एक सरल एमएस एक्सेस डेटाबेस से MySQL में टेबल ले जाया (जो वैसे भी काम करता है) और ओडीबीसी के माध्यम से उन तालिकाओं के लिंक तक पहुंच स्थापित करें।

अब तक, मैंने निम्नलिखित में भाग लिया है:

  • आप प्राथमिक कुंजी के बिना किसी तालिका में पंक्तियों को सम्मिलित / अपडेट / हटा नहीं सकते हैं (कोई आश्चर्य नहीं)।
  • एमएस एक्सेस में ऑटो नम्बर फ़ील्ड प्राथमिक कुंजी होनी चाहिए या वे MySQL में पूर्णांक कॉलम के रूप में समाप्त हो जाएंगे (नाच, यह पीके क्यों नहीं होगा?)
  • टेबल को MySQL के InnoDB तालिका प्रकार में माइग्रेट किया गया था, लेकिन एक्सेस रिलेशनशिप MySQL विदेशी कुंजी बाधाएं नहीं बन गईं।

एक बार डेटाबेस उपयोग में आने के बाद, क्या मैं किसी अन्य मुद्दे की उम्मीद कर सकता हूं? विशेष रूप से जब दोनों उपयोगकर्ता एक ही टेबल में काम कर रहे हैं?

0
ro fr bn

5 उत्तर

यदि यह केवल दो उपयोगकर्ता हैं, तो यदि आप किसी साझा ड्राइव पर .mdb डालते हैं तो एक्सेस को ठीक करना चाहिए।

क्या आपने इसे पहले ही कोशिश की है कि यह एक समस्या होगी।

मेरा मानना ​​है कि एक्सेस के लिए अनुशंसित अधिकतम समवर्ती उपयोगकर्ता 5 है लेकिन अवसर पर मैंने इसे पिछले धक्का दिया है और कभी भी अनावृत नहीं हुआ है।

दूसरी तरफ मैंने एक बार उपयोगकर्ता के पर्यावरण (मुझे) में MySQL के सामने के अंत तक एक्सेस का उपयोग किया था। यह एकमात्र अप्रिय अनुभव था, मैं कल्पना नहीं कर सकता कि यह दो उपयोगकर्ताओं के साथ अच्छा हो जाएगा।

0
जोड़ा

I know this doesn't answer your question directly, but it might be worth checking out the SQL Server 2005 migration tool for Access. I've never used the tool, but it might be worth using with SQL Server 2005 Express Edition to see if there are the same issues as you had with MySQL

0
जोड़ा

सामान्य में, यह निर्भर करता है :)

जब मुझे एप्लिकेशन पक्ष फॉर्म के माध्यम से डेटा अपडेट कर रहा है तो मुझे बहुत सारी समस्याएं नहीं मिली हैं। एक ही पंक्ति को एक से अधिक उपयोगकर्ता द्वारा अपडेट किया गया है जब आप चेतावनियां / त्रुटियां प्राप्त कर सकते हैं; लेकिन एक्सेस हर समय अपने लाइव रिकॉर्ड सेट को लगातार अपडेट कर रहा है।

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

जब मैं रिकॉर्डसेट्स के माध्यम से वीबी कोड में रिकॉर्ड संपादित कर रहा था, तो मुझे और समस्याएं आईं, खासकर जब फॉर्म पर उसी डेटा को संपादित करने के साथ मिलती है। यह जरूरी नहीं है कि एक बहु उपयोगकर्ता समस्या हो; हालांकि, आपके पास लगभग एक ही स्थिति है क्योंकि आपके पास एक ही डेटा के साथ एक से अधिक कनेक्शन वाले उपयोगकर्ता हैं।

0
जोड़ा

मेरे पास एक ऐसा एप्लीकेशन था जो इसी प्रकार काम करता था: एक एमएस एक्सेस फ्रंटेंड एक माईएसQL बैकएंड में। यह इतना बड़ा दर्द था कि मैंने इसके बजाए एक Win32 फ्रंटएंड लिखना समाप्त कर दिया। मेरे सिर के शीर्ष से, मुझे निम्नलिखित समस्याओं का सामना करना पड़ा:

  • ओडीबीसी लिंक का विकास बहुत पहले बंद हो गया है। चारों ओर तैरते हुए विभिन्न अलग-अलग संस्करण हैं --- बहुत भ्रमित। ओडीबीसी लिंक यूनिकोड / यूटीएफ 8 का समर्थन नहीं करता है, और मुझे याद है कि इसके साथ अन्य मुद्दे भी थे (हालांकि कुछ सावधानीपूर्वक कॉन्फ़िगरेशन से दूर हो सकते हैं)।
  • आप एमएस एक्सेस के साथ संगत बनाने के लिए शायद अपने डीबी स्कीमा को मैन्युअल रूप से ट्विक करना चाहते हैं। मुझे लगता है कि आप पहले से ही आवश्यक सरोगेट कुंजी (यानी, int प्राथमिक कुंजी) के बारे में पता चला है: -)
  • आपको यह ध्यान में रखना चाहिए कि MySQL डेटाबेस के अधिक परिष्कृत SQL मैनिप्लेशंस करने के लिए आपको पास-थ्रू क्वेरीज़ का उपयोग करने की आवश्यकता हो सकती है।
  • बहुत से वीबीए का उपयोग करने से सावधान रहें, क्योंकि इससे आपकी फ्रंटएंड फ़ाइल दूषित हो जाती है। नियमित रूप से डेटाबेस को संपीड़ित करना (मुख्य मेनू, उपकरण | डेटाबेस उपयोगिताओं का उपयोग करना | संपीड़न और पुनर्स्थापित करना, या ऐसा कुछ --- मैं डच संस्करण का उपयोग कर रहा हूं) और बैकअप के बहुत को बनाना आवश्यक है।
  • एक्सेस बहुत सारे नेटवर्क यातायात का कारण बनता है। पसंद है, वास्तव में बहुत सारे बहुत सारे। मैं इसके लिए कोई समाधान नहीं ढूंढ पाया है। यदि आप उस पर नजर रखना चाहते हैं तो नेटवर्क मॉनीटर का उपयोग करना अनुशंसित है!
  • एक्सेस बूलियन को 0 / -1 के रूप में संग्रहीत करने पर जोर देती है। आईएमएचओ, 0 / + 1 अधिक समझ में आता है, और मेरा मानना ​​है कि यह MySQL में चीजों को करने का डिफ़ॉल्ट तरीका भी है। कोई बड़ी समस्या नहीं है, लेकिन यदि आपके चेकबॉक्स काम नहीं करते हैं, तो आपको निश्चित रूप से यह जांचना चाहिए।

एक साझा विकल्प बैकएंड (डेटा के साथ) को साझा ड्राइव पर रखना होगा। मुझे याद है कि यह मदद में भी अच्छी तरह से प्रलेखित है। आप एक फ्रंटेंड और बैकएंड में विभाजित होने पर कुछ सामान्य सलाह और < a href = "http://allenbrowne.com/ser-13.html" rel = "noreferrer"> कोड जो स्वचालित रूप से स्टार्टअप पर बैकएंड से पुनः कनेक्ट होता है ; मैं आपको कुछ और नमूना कोड भी भेज सकता हूं, या इसे यहां पोस्ट कर सकता हूं।

अन्यथा, आप एमएस एसक्यूएल पर भी विचार करना चाहेंगे। मुझे इसके साथ अनुभव नहीं है, लेकिन मुझे लगता है कि यह एमएस एक्सेस के साथ मिलकर काम करता है और अधिक अच्छी तरह से!

0
जोड़ा

गैरेथ सिम्पसन ने कहा:

यदि यह केवल दो उपयोगकर्ता हैं, तो एक्सेस करें   यदि आप डालते हैं तो बस ठीक करना चाहिए   एक साझा ड्राइव पर .mdb।

एर कोई। कोई बहु-उपयोगकर्ता एक्सेस एप्लिकेशन नहीं है जिसके लिए प्रत्येक उपयोगकर्ता को फ्रंट एंड की समर्पित प्रति नहीं होनी चाहिए। इसका मतलब है कि प्रत्येक उपयोगकर्ता को अपने वर्कस्टेशन पर एमडीबी होना चाहिए। क्यूं कर? चूंकि सामने वाले सिरों में ऑब्जेक्ट अच्छी तरह से साझा नहीं होते हैं (लगभग जेट डेटा टेबल नहीं, हालांकि इस परिदृश्य में से कोई भी पीछे के अंत के रूप में MySQL का उपयोग नहीं कर रहा है)।

गैरेथ सिम्पसन जारी रखा:

मुझे अनुशंसित अधिकतम मानना ​​है   एक्सेस के लिए समवर्ती उपयोगकर्ता 5 है लेकिन   अवसर पर मैंने इसे पिछले धक्का दिया है   और कभी भी अनावृत नहीं आते।

नहीं, यह पूरी तरह गलत है। एमडीबी के उपयोगकर्ताओं के लिए सैद्धांतिक सीमा 255 है। यह यथार्थवादी नहीं है, निश्चित रूप से, जैसे ही आप लगभग 20 उपयोगकर्ताओं तक पहुंच जाते हैं, आपको अपने एक्सेस ऐप को अच्छी तरह से काम करने के लिए प्रोग्राम करना होगा (हालांकि चीजों को आपको एक्सेस-टू- जेट ऐप एक ही प्रकार की चीजें हैं जो आप किसी सर्वर डेटाबेस एप्लिकेशन को कुशल बनाने के लिए करेंगे, उदाहरण के लिए, सबसे छोटे उपयोग करने योग्य डेटा सेट को पुनर्प्राप्त करना)।

इस मामले में, चूंकि प्रत्येक उपयोगकर्ता के सामने वाले एमडीबी की एक व्यक्तिगत प्रति होना चाहिए, इसलिए एक्सेस / जेट की बहु-उपयोगकर्ता सीमाएं बिल्कुल प्रासंगिक नहीं हैं।

0
जोड़ा