2011-01-11 25 views
5

मेरे पास रिपोर्टिंग उद्देश्यों के लिए ग्राहकों द्वारा उपयोग की जाने वाली वेबसाइट है और ग्राहकों को अपनी वेबसाइट का विकल्प सीधे अपने स्थानीय डेटाबेस को पढ़ने का विकल्प देना है (बजाय फ़ाइल प्रारूप में डेटा प्रदान करने के बजाय)। ज्यादातर मामलों में उनका डेटाबेस उनके लोकहोस्ट पर SQL एक्सप्रेस सेटअप होगा।वेबसाइट के माध्यम से स्थानीय डेटाबेस से कैसे कनेक्ट करें?

मैं एएसपीनेट/जावास्क्रिप्ट इत्यादि का उपयोग करके, मेरी वेबसाइट के माध्यम से एक क्लाइंट स्थानीय SQL सर्वर से कैसे कनेक्ट कर सकता हूं? ग्राहक अपने कनेक्शन स्ट्रिंग गुण प्रदान करता है, स्थानीय होस्ट बस अपना सर्वर का स्थानीय होस्ट को उल्लेख करता है ...

निम्नलिखित पर विचार करें:

अधिकांश लोगों को एक आईएसपी के माध्यम से इंटरनेट से कनेक्ट। THeir डेटाबेस उनके लोकहोस्ट पर चलाएगा और इस तरह का सार्वजनिक पता नहीं होगा।

आदर्श रूप से, ग्राहक को कुछ कनेक्शनस्ट्रिंग (डेटाबेस नाम, लॉगिन इत्यादि) की आपूर्ति करनी होगी और मेरे सर्वर को कनेक्ट होना चाहिए।

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

धन्यवाद

+0

@NeilKnight, यह एक कठिन अवधारणा गूगल के लिए एक उपयुक्त खोज स्ट्रिंग में डाल दिया है। मैंने इसके लिए लगभग 1 - 2 बजे/दिन के बारे में एक सप्ताह तक बैठने में बिताया, मुझे केवल "प्रश्न पूछें" विंडो में सुझाव विंडो की वजह से यह पता चला (एसओ)। कार्लो, ठीक वही जो मैं खोज रहा था। सवाल पर भी अच्छा संयोजन! – Kingsolmn

उत्तर

1

अपने ग्राहकों फ़ायरवॉल एसक्यूएल सर्वर (डिफ़ॉल्ट पोर्ट 1433 है) के लिए कनेक्शन देने के लिए कॉन्फ़िगर किया गया है प्रदान करना, वहाँ यह करने के लिए एक कनेक्शन बनाने आप रोक कुछ भी नहीं है। हालांकि, ऐसा करने के लिए सुरक्षा विचार हैं। आपका ग्राहक केवल आपके वेब-सर्वर आईपी पते से कनेक्शन की अनुमति देना चाहता है।

आप एक वीपीएन पर भी विचार कर सकते हैं जैसे कि विंडोज या हामाची द्वारा प्रदान किए गए वीपीएन।

+0

@ करलो, यह * आईएस * प्रोग्रामेटिक रूप से है। मैंने अभी सुरक्षा कारणों से वीपीएन का उल्लेख किया है। पोर्ट 1433 (डिफ़ॉल्ट) पर कनेक्शन की अनुमति देने के लिए आपको कनेक्शन कनेक्शन और उसकी फ़ायरवॉल की आवश्यकता है। आपको बस इतना करना है। –

+0

@ हेनक, यकीन नहीं है कि मैं पालन करता हूं। –

+1

हर कोई अपनी टिप्पणियां हटा रहा है और ऐसा लगता है जैसे मैं खुद से कर रहा हूं। –

0

लेकिन यदि आपके ग्राहक SQL सर्वर होस्ट पता प्रदान करते हैं, तो ADO.NET या उस पर निर्भर कोई भी परत सही सर्वर से कनेक्ट होगी, न कि आपके स्थानीय।

क्या मैं गलत हूँ?

+0

क्या होगा यदि उनका SQL सर्वर होस्ट पता सार्वजनिक नहीं है? स्थानीय देव सर्वर चलाने वाले अधिकांश लोग इसे सार्वजनिक पते पर नहीं चला रहे हैं - वे एक आईएसपी के माध्यम से इंटरनेट से कनेक्ट होते हैं। – Carlo

+0

@ करलो, और उनके आईएसपी उन्हें एक आईपी पता असाइन करते हैं (यहां तक ​​कि एक अस्थायी भी)। इसके बिना, उनका इंटरनेट अनुभव कुछ हद तक सुस्त होगा। –

1

मुझे लगता है कि यदि डेटाबेस चल रहा है कंप्यूटर सार्वजनिक पते पर नहीं है तो आपको दूरस्थ डेटाबेस से कनेक्ट करना असंभव लगेगा। उन्हें 1) अपने सार्वजनिक पता निर्दिष्ट करने की आवश्यकता होगी 2) अपने फ़ायरवॉल में सही पोर्ट खोलें। उनके सेटअप (सरल राउटर/फ़ायरवॉल के साथ घर कार्यालय, फ़ायरवॉल के साथ कॉर्पोरेट कार्यालय वे स्वतंत्र रूप से बदल नहीं सकते हैं) के आधार पर यह हो सकता है कि यह कूदने के लिए काफी हद तक उपलब्ध न हो।

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

संपादित करें: क्षमा करें, आपके प्रश्न में वीपीएन के बारे में अंतिम भाग याद किया। अगर मैं आपको सही तरीके से समझ रहा हूं तो आप अनिवार्य रूप से चाहते हैं कि वे आपके एप्लिकेशन से "क्लाइंट" के रूप में जुड़ सकें, लेकिन वे जो डेटा भेज रहे हैं वे उनके डेटाबेस होंगे। लेकिन आप चाहते हैं कि यह उन ग्राहकों के साथ काम करे जो सार्वजनिक रूप से इंटरनेट पर अपने डेटाबेस सर्वर साझा नहीं कर रहे हैं? मेरे लिए यह पूरा करने में बहुत मुश्किल लगता है, लेकिन फिर मैं क्लाइंट-साइड स्क्रिप्टिंग में वास्तव में अच्छा नहीं हूं।

0

आपको डीएनएस सर्वर जैसे डीएनएस सर्वर का उपयोग करने की आवश्यकता है। आप इसे एक ही वेब पते के लिए मुफ्त में आज़मा सकते हैं। फिर एक आईआईएस सर्वर स्थापित करें।

0

मैं एक स्थानीय SQL डेटाबेस स्थापित करता हूं और सिल्वरलाइट एप्लिकेशन के माध्यम से कनेक्ट करता हूं। फिर आप वेब (डब्ल्यूसीएफ) सेवाओं का उपयोग कर डेटा को पढ़ सकते हैं और डेटा को अपने वेब सर्वर/मुख्य डेटाबेस पर वापस सबमिट कर सकते हैं।

मैं एक स्थानीय SQL डेटाबेस के लिए सिल्वरलाइट को जोड़ने के बारे में इस लिंक मिल गया ..

http://erikej.blogspot.com/2010/02/access-local-sql-compact-database-from.html

संबंधित मुद्दे