2012-04-08 10 views
5

से मार्कलॉग में डेटाबेस कैसे बना सकता हूं हमने एक नई परियोजना शुरू की है जो दस्तावेज़ों को संग्रहीत करने के लिए मार्कलॉग का उपयोग करती है। ऐप चलाने के लिए, हमें डेटाबेस, जंगल, नए उपयोगकर्ता बनाने और एक एक्सडीबीसी सर्वर स्थापित करने की आवश्यकता है। मार्कलॉग द्वारा प्रदान किए गए वेब एडमिन टूल से इसे करना बहुत आसान है, लेकिन इसे निरंतर एकीकरण सर्वर से चलाने के लिए हमें इसे स्वचालित करने की आवश्यकता है। क्या कमांड लाइन से ऐसा करने का कोई तरीका है (जैसे sqlcmd.exe sqlserver या sql plus oracle में) ??मैं स्क्रिप्ट

उत्तर

5

जब तक आप MarkLogic 5.x का उपयोग कर रहे हैं, तो सबसे आसान काम कॉन्फ़िगरेशन प्रबंधक का उपयोग करना होगा। यह वेब आधारित टूल आपको संपूर्ण डीबी और ऐप सर्वर कॉन्फ़िगरेशन को एक एक्सएमएल फ़ाइल में निर्यात करने की अनुमति देता है जिसे संस्करण नियंत्रित किया जा सकता है। इसे फिर भी अपने मार्कलॉगिक इंस्टेंस को पूरी तरह से सेटअप या पुन: कॉन्फ़िगर करने के लिए आयात किया जा सकता है।

निरंतर एकीकरण के हिस्से के रूप में इसका उपयोग करने के लिए, आपको कॉन्फ़िगरेशन के आयात को स्क्रिप्ट करना होगा। आप एक http सर्वर बना सकते हैं जिसमें एक एंडपॉइंट हो जो लोडिंग करने के लिए कॉन्फ़िगरेशन एपीआई को आमंत्रित करता है, यहां दस्तावेज़ के रूप में: http://community.marklogic.com/pubs/5.0/apidocs/package-api.html। यह https आधारित सेवा आसानी से एएनटी या किसी अन्य सीआई उपकरण के माध्यम से बुलाया जा सकता है।

वैकल्पिक रूप से, विशेष रूप से यदि आप अभी तक 5.x पर नहीं चल रहे हैं, तो आप कॉन्फ़िगरेशन पैकेज का उपयोग करने की बजाय पूरी प्रक्रिया को स्क्रिप्ट कर सकते हैं। सभी व्यवस्थापक कार्यों को यहां दस्तावेज़ित किया गया है: http://community.marklogic.com/pubs/5.0/books/adminAPI.pdf। इसके बाद आपको अपने डेटाबेस, ऐप सर्वर इत्यादि को कॉन्फ़िगर करने के लिए आवश्यक सभी कोड लिखना होगा और फिर ऊपर वर्णित अनुसार http सर्वर के माध्यम से इसे बेनकाब करना होगा।

+0

लिंक के लिए धन्यवाद। हम 5.x का उपयोग कर रहे हैं। शुरुआत के लिए मैंने ऐप सर्वर को एक्सएमएल में आयात करने का प्रयास किया और मुझे एक पैकेज एक्सएमएल मिला। अगला कदम वास्तव में पैकेज स्थापित करना था। मैंने पैकेज का उपयोग किया: इंस्टॉल करें (fn: doc ("/ xdbcserver.xml")) ..... समस्या यह है कि uri /xdbcserver.xml के साथ फ़ाइल डेटाबेस में मौजूद होने की उम्मीद है। इसका मतलब है कि किसी को इसे मैन्युअल रूप से वहां रखना होगा। यह विन्यास स्वचालित करने के उद्देश्य के लिए विरोधाभासी है। मुझे एक ऐसा फ़ंक्शन चाहिए जो डीबी में किसी मौजूदा दस्तावेज़ के बजाय क्लाइंट फाइल सिस्टम से पैकेज लोड करता है। कोई संकेत? धन्यवाद फिर से – uttamkini

1

क्लार्क रिची की मदद के लिए धन्यवाद, मुझे मार्कलॉगिक सर्वर 5.x (हालांकि किसी भी तरह से सरल नहीं) की कॉन्फ़िगरेशन स्वचालित करने का एक तरीका मिल गया होगा।

उदाहरण के लिए यदि आप (एक xdbc सर्वर के निर्माण को स्वचालित करने, जाओ एक उदाहरण की क्वेरी कंसोल में जहां एक मैन्युअल रूप से कॉन्फ़िगर xdbc सर्वर निम्नलिखित XQuery exists.Use xdbc सर्वर के लिए एक पैकेज फ़ाइल उत्पन्न करना चाहते हैं मेरे मामले नमूना सर्वर कहा जाता है)।

आयात मॉड्यूल नेमस्पेस पैकेज = "http://marklogic.com/package/package" "/marklogic/package/package.xqy" पर;

जाने $ मेरी-पैकेज: = पैकेज: (बनाने)

वापसी पैकेज: एड-appserver ($ मेरी पैकेज, "डिफ़ॉल्ट", "नमूना-सर्वर")

आप होगा अब एक पैकेज xml देखें जिसमें xdbc सर्वर बनाने और कॉन्फ़िगर करने के लिए आवश्यक सभी जानकारी शामिल है। इसे फ़ाइल में या अपने क्लिपबोर्ड पर सहेजें। अब मार्कलॉग इंस्टेंस के क्वेरी कंसोल पर जाएं जिसे आप कॉन्फ़िगर करना चाहते हैं। उदाहरण के लिए इसे वास्तव में स्थापित करने के लिए निम्न xquery का उपयोग करें।

आयात मॉड्यूल नेमस्पेस पैकेज = "http://marklogic.com/package/package" "/marklogic/package/package.xqy" पर;

देना $ पैकेज: = {आप फ़ाइल में सहेजा पैकेज xml/क्लिपबोर्ड चरण 1 पर पेस्ट}

वापसी पैकेज: स्थापित ($ पैकेज)

अब आप एक जो कहते हैं एक xml परिणाम मिल जाएगा कि पैकेज लिखा गया है।

अब मेरे सीआई पर्यावरण में इसे स्वचालित करने के सभी महत्वपूर्ण कदमों के लिए।मैं एक कस्टम चींटी/नैन कार्य (या मेरे विशिष्ट मामले में एक पावरहेल cmdlet) लिखता हूं जो फ़ाइल सिस्टम से कॉन्फ़िगरेशन फ़ाइल पढ़ता है, एक्ससीसी (और व्यवस्थापक क्रेडेंशियल का उपयोग कर एमएल से कनेक्ट होता है, क्योंकि डेटाबेस और ऐप सर्वर बनाने जैसी चीजें इसकी आवश्यकता होती है) और उसके बाद ऊपर परिभाषित एक ही xquery निष्पादित करता है। मैं संस्करण को अपने स्रोत नियंत्रण में कॉन्फ़िगरेशन फ़ाइल को नियंत्रित कर सकता हूं और इस तरह मैं बिना किसी मैन्युअल हस्तक्षेप के एमएल के ताजा इंस्टॉल पर डेटाबेस के निर्माण/कॉन्फ़िगरेशन को स्वचालित कर सकता हूं। ऐसा करने के किसी अन्य बेहतर तरीके ??

+0

ताकि आप जानते हों कि मार्कथोगिक के लिए एंटी टेक का एक सेट है github http: // developer .marklogic.com/कोड/चींटी-कार्य – derickson

+3

विन्यास प्रबंधन अनुप्रयोग एक पैकेजिंग आरईएसटी इंटरफेस भी प्रदान करता है। स्थापना के लिए एक पैकेज पोस्ट करने के लिए एक यूआरएल है। यहां अधिक जानकारी: http://community.marklogic.com/pubs/5.0/apidocs/packageREST.html – grtjn

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