2013-08-12 7 views
5

में डेटाबेस स्थान मेरे पास एक प्रोग्राम है जो स्थानीय डेटाबेस (sqlite3 और मैं डीबी मॉड्यूल का उपयोग करता हूं) का उपयोग करता हूं। मैं यह जानकर डेटाबेस का उपयोग कर रहा हूं कि यह कहां है।योजना

उदाहरण के लिए, यदि मैं अपने प्रोग्राम में डेटाबेस का स्थान कोड करता हूं (जैसे सी:/मेरे दस्तावेज़/मेरे प्रोग्राम/localdb.db), यह सही तरीके से काम कर रहा है।

लेकिन अगर मैं सिर्फ "localdb.db" लिखता हूं, तो यह डेटाबेस नहीं मिलता है, भले ही डेटाबेस डेटाबेस के उपयोग के साथ .rkt फ़ाइल के साथ एक ही फ़ोल्डर में है। (मुझे नहीं पता कि कैसे बल्कि मेरे कार्यक्रम के पुराने संस्करणों में, यह काम कर रहा था)।

इस प्रकार, मैं अपने स्थान को कोड किए बिना डेटाबेस का उपयोग कैसे कर सकता हूं?

बहुत बहुत धन्यवाद!

उत्तर

8

के बजाय "localdb.db", इस तरह एक क्रम-पथ का उपयोग कर प्रयास करें:

(define-runtime-path localdb "localdb.db") 

और पथ स्ट्रिंग के स्थान पर localdb का उपयोग करें। आपको (require racket/runtime-path) की आवश्यकता होगी।

+1

यह है! धन्यवाद – Asqan

+0

क्या डेटाबेस की कंक्रीट निर्देशिका जानने के लिए ऐसा कोई तरीका है? @Asumu Takikawa – Asqan

+2

आप इसे पाने के लिए रनटाइम पथ पर 'स्प्लिट-पथ' को कॉल कर सकते हैं। –