2012-05-19 27 views
5

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

+0

मुझे लगता है कि "एंबेडेड डर्बी जेडीबीसी डीबी कनेक्शन" वह समाधान है जिसे आप ढूंढ रहे हैं।मैंने नीचे वर्णित किया कि वर्तमान नेटबीन आईडीई यूआई का उपयोग डर्बी में हेरफेर करने के लिए कैसे करें। किसी भी तरह से आपका डेटा अंततः फाइल में संग्रहीत किया जाएगा। मुख्य अंतर यह है कि क्या आप एम्बेडेड रूट या क्लाइंट सर्वर रूट चुनते हैं, जहां क्लाइंट सर्वर रूट को होस्ट पर एक पोर्ट की आवश्यकता होती है, जिससे कई क्लाइंट एक ही समय में डीबी तक पहुंच सकते हैं। – simgineer

उत्तर

1

जब आप NetBeans 7.1.2 डाउनलोड, "ऑल" पैकेज आपको इसके साथ ग्लासफ़िश ऐप सर्वर मिलता है। डब्ल्यू/ग्लासफ़िश स्थापित करने के बाद, आईडीई में आप सेवा टैब> विस्तृत डेटाबेस का चयन करने में सक्षम होना चाहिए और आपको जावा डीबी देखना चाहिए। आर। जावा डीबी पर क्लिक करें और स्टार्ट सर्वर का चयन करें। फिर आर। फिर से क्लिक करें और डेटाबेस बनाएँ का चयन करें। डीबी नाम, उपयोगकर्ता और पासवर्ड दर्ज करें। बीटीडब्ल्यू मैं आम तौर पर उपयोगकर्ता और पासवर्ड दोनों के लिए एपीपी का उपयोग करता हूं क्योंकि इस तरह यह डिफ़ॉल्ट स्कीमा भी बन जाता है और मुझे उत्पादन वातावरण के लिए कुछ भी बदलने की ज़रूरत नहीं है।

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

यहां मेरी dbinit.sql स्क्रिप्ट का एक उदाहरण है जिसका उपयोग मैं डर्बी में अपनी टेबल बनाने के लिए करता हूं।

create table usertable (
    username varchar(128) NOT NULL CONSTRAINT USER_PK PRIMARY KEY , 
    password varchar(128) NOT NULL, 
    email varchar(128) NOT NULL, 
    firstname varchar(128) NOT NULL, 
    lastname varchar(128) NOT NULL 
); 

create table grouptable(
    username varchar(128) NOT NULL, 
    groupid varchar(128) NOT NULL, 
    CONSTRAINT GROUP_PK PRIMARY KEY(username, groupid), 
    CONSTRAINT USER_FK FOREIGN KEY(username) REFERENCES usertable(username) 
     ON DELETE CASCADE ON UPDATE RESTRICT 
); 

insert into usertable(username,password,firstname,lastname) 
    values ('admin', '21232f297a57a5a743894a0e4a801fc3','',''); 
insert into grouptable(username,groupid) values ('admin', 'USER'); 
insert into grouptable(username,groupid) values ('admin', 'ADMIN'); 

आप आसानी से डेटाबेस आप डेटाबेस पर राइट क्लिक करके बना लिया है हटा सकते हैं, आर डेटाबेस आप को हटाने और हटाने के चयन करना चाहते हैं पर क्लिक करें। और इसे पुन: उत्पन्न करने के लिए अपनी स्क्रिप्ट का पुन: उपयोग करें।

enter image description here

आशा इस मदद करता है! :)

4

एक बनाने के लिए, आपका जेडीबीसी यूआरएल होगा: jdbc:derby:foo;create=true, और यह डर्बी सिस्टम निर्देशिका में foo नामक डेटाबेस बनाएगा। यदि आप अपनी हार्ड ड्राइव पर एक पूर्ण स्थान में एक बनाना चाहते हैं, तो एक पूर्ण पथ निर्दिष्ट करें। jdbc:derby:/home/me/foo;create=true

डेटाबेस बनने के बाद, आप उसी यूआरएल से कनेक्ट कर सकते हैं, या आप ;create=true भाग बंद कर सकते हैं।

आप सिस्टम गुणों के माध्यम से डर्बी सिस्टम निर्देशिका सेट कर सकते हैं, उदा। System.setProperty("derby.system.homeSystem.setProp", "/home/bar/whatever");। मुझे लगता है कि आपको डर्बी डेटाबेस शुरू करने से पहले ऐसा करने की आवश्यकता होगी, लेकिन मैंने इसे बाद में करने की कोशिश नहीं की है। मैंने पाया है कि ऐप के लिए डर्बी सिस्टम होम सेट करना और बेहतर काम करने के लिए रिश्तेदार डेटाबेस यूआरएल निर्दिष्ट करना, लेकिन यह एक व्यक्तिगत वरीयता है।

+0

तो jdbc फ़ाइल-आधारित संस्करण है? –

+0

हाँ, जावा में, आप हमेशा जेडीबीसी के माध्यम से डर्बी के साथ इंटरफेस करते हैं। जेडीबीसी: डर्बी: एम्बेडेड कनेक्शन के लिए उपसर्ग है। यह नेटवर्क डेटाबेस कनेक्शन के लिए अलग है। – Bill

+0

उत्तर के लिए सभी धन्यवाद, सबसे पहले मैं डेटाबेस से कनेक्ट करने का प्रबंधन नहीं कर सकता, मुझे लगा कि मुझे पहले डेटाबेस को परिभाषित करने की ज़रूरत है, और मैंने नेटबीन्स इंटरफ़ेस के माध्यम से ऐसा किया (कोई विचार नहीं कि इसे कैसे करें अन्यथा), और उसने मुझे डीबी के लिए यूआरएल दिया, जो jdbc है: derby: history; create = true मैंने सभी डर्बी जार फ़ाइलों को अपनी प्रोजेक्ट की "lib" निर्देशिका में ले जाया। मुझे अभी भी "कोई उपयुक्त ड्राइवर नहीं मिला" त्रुटि मिलती है, इसलिए मैंने अन्य मंचों में चेक किया, लेकिन जो कुछ भी उन्होंने कहा वह काम नहीं करता है। मुझे लगता है कि इसे निर्देशिका के साथ करना है, लेकिन मैं इसे समझ नहीं सकता .. –

0

मामले में आप डर्बी में एक फ़ाइल आधारित डेटाबेस, आप डाउनलोड करना चाहिए है, Derby

खोल दो फ़ाइल चाहते हैं। बिन निर्देशिका के अंदर startNetworkServer.bat चलाएं। यह डर्बी सर्वर शुरू करेगा जो पोर्ट नंबर 1527 को सुनेंगे।

drivername = org.apache.derby.jdbc.ClientDriver

ConnectionString = JDBC: डर्बी: // स्थानीय होस्ट:

अब आप अपने जावा कोड में

1527/schema_name; बनाने = सच

मॉरोवर, आप ऑर्केकल में डर्बी डीबी से भी पूछ सकते हैं।

बिन निर्देशिका के अंदर स्थित ij.bat चलाएं। तो शीघ्र पर:

कनेक्ट

'कनेक्शन URL निर्दिष्ट' और आप ओरेकल शीघ्र तरह एसक्यूएल प्रश्नों आग कर सकते हैं।

मामले में आप अलग अलग बंदरगाह पर डर्बी सर्वर को चलाने के लिए, cmd पर निम्न आदेश पर अमल करना चाहते हैं:

startnetworkserver.bat -p 1234

2

निश्चित रूप से वह ड्राइवर जो आप उपयोग करना चाहते हैं वह derby.jar में एम्बेडेड ड्राइवर है। "चीजों के कोडिंग पक्ष" में शामिल होने के बजाय, पर्याप्त उदाहरण चल रहे हैं, मैं कोडिंग शुरू करने से पहले सबकुछ करने के लिए खुद को नेटबीन का उपयोग करना पसंद करता हूं।

चूंकि मैं डेटाबेस प्रविष्टियों में वायरशर्क/टीसीपीडम्प/एनएमएपी फ़ाइलों को परिवर्तित करने के लिए एम्बेडेड दृष्टिकोण का उपयोग करता हूं, इसलिए मैं थोड़ा अलग दृष्टिकोण का उपयोग करता हूं।

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

  1. बनाएं: mkdir -p $ HOME/opt/derby और cd ~/opt/derby।
  2. db.apache.org और अनबंडल से
  3. डाउनलोड नवीनतम संस्करण $ HOME/opt/डर्बी में है/
  4. प्रतीकात्मक कड़ी बनाएँ: ln -s pwd/संस्करणpwd/नवीनतम।
  5. प्रतीकात्मक लिंक बनाएं: ln -s pwd/नवीनतम pwd
  6. स्टार्टअप नेटबीन्स।

पर आप NetBeans में सब कुछ कर सकते हैं यहाँ से: "। ASF-डर्बी-Emb"

  1. एक चींटी लाइब्रेरी बना सकते हैं और यह कहते हैं: उपकरण> चींटी Libraries-> नई लाइब्रेरी।
  2. सेटिंग पैनल में क्लासपाथ /home/[loginid]/opt/derby/default/lib/derby.jar पर सेट करें और, वैकल्पिक रूप से, derbytools.jar में जोड़ें।
  3. स्रोत टैब पर क्लिक करें और यदि आपने इसे डाउनलोड किया है तो स्रोत कोड के पथ में जोड़ा गया है।जावाडोक टैब और पर
  4. क्लिक करें और/घर में/[loginid]/opt/डर्बी/डिफ़ॉल्ट/javadocs

जब आप कोडिंग में मिलता है, बस ASF-डर्बी-Emb लाइब्रेरी में जोड़ सकते हैं और कहीं भी होगी स्वचालित रूप से अपने 'dist' में कॉपी हो जाएं।

अब जावाडीबी सेट अप करें।

  1. सेवा टैब सेट करें: विंडो-> सेवाएं और उस टैब का चयन करें।
  2. जावाडीबी का चयन करें और राइट-क्लिक करें और चल रहे जावाडीबी को रोकें।
  3. जावाडीबी का चयन करें और राइट-क्लिक करें और गुण मेनू प्रविष्टि पर क्लिक करें जो एक गुण संवाद लाएगा।
  4. जावाडीबी स्थापना निर्देशिका में ब्राउज़ करें: $ HOME/opt/derby/default में।
  5. या तो डेटाबेस स्थापना निर्देशिका स्थान को छोड़ दें या उस निर्देशिका को ब्राउज़ करें जहां आप इसे रखना चाहते हैं, लेकिन सुनिश्चित करें कि आपने पढ़ने/लिखने का उपयोग किया है।
  6. 'ओके' पर क्लिक करें और अब आपके पास एक अलग जावाडीबी स्थापना और डेटाबेस स्थान है।

बस डेटाबेस स्थान बदलकर आप जहां भी चाहें डेटाबेस डाल सकते हैं। या आप यूआरएल के रूप में कोड में एक ही चीज़ को पूरा कर सकते हैं: jdbc: derby: // डेटाबेस स्थान निर्देशिका।

कोई भी तरीका, अब मैं अपना डेटाबेस सेट कर सकता हूं।

  1. जावाडीबी का चयन करें और राइट-क्लिक करें और 'डेटाबेस बनाएं' का चयन करें और केवल संवाद भरें और डेटाबेस को प्रॉपर्टी फ़ाइल में स्थापित निर्देशिका में प्रारंभ किया जाएगा।
  2. कनेक्शन बनाएं: जावाडीबी का चयन करें और फिर बनाए गए डेटाबेस का नाम चुनें।

    1. कुछ न करें और कोड टेबल बनाने के लिए आवश्यक बनाने के लिए, आदि
    2. एक परियोजना बनाएँ और एक शीर्ष स्तर परियोजना निर्देशिका कहा जाता एसक्यूएल बनाने के लिए:

    इस बिंदु से वहाँ तीन विकल्प हैं और उस निर्देशिका में टेबल, आदि को परिभाषित करने वाली अपनी सभी एसक्यूएल स्क्रिप्ट रखें।

  3. 'बिल्टिन सुविधा का उपयोग करें: सेवा-> जेडीबीसी: डर्बी: // ??? और दिखाई देने वाली सुविधा का उपयोग करके टेबल बनाएं और आपको आवश्यक एसक्यूएल दर्ज करने की अनुमति देता है।

व्यक्तिगत रूप से, (2) मुझे शुरुआत में सबसे अच्छा तरीका मिल रहा है। यदि आपके पास .sql एक्सटेंशन के साथ पूर्व-मौजूदा एसक्यूएल स्क्रिप्ट हैं, तो बस उन्हें प्रोजेक्ट के तहत खोलकर, उन्हें एसक्यूएल एडिटर में लोड किया जाएगा और वहां निष्पादित किया जा सकता है।

वैकल्पिक रूप से (3) का उपयोग किया जा सकता है और परिणामी लिपि सहेजी जा सकती है।

किसी भी तरह से, कोडिंग शुरू होने से पहले बहुत कुछ बनाया जा सकता है। ऐसा करने के कई तरीके हैं। कोडिंग से पहले मैंने सभी को बनाया होगा - यह परीक्षण मामलों को विकसित करना बहुत आसान बनाता है और पिछले कुछ का उपयोग करके मुझे चीजों को संशोधित करने के लिए नेटबीन में कूदना और बाहर नहीं जाना पड़ता है।

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