2012-04-22 13 views
5

मैं playframework के साथ SQLite काम करने की कोशिश कर रहा हूं लेकिन अब तक कोई भाग्य नहीं है।प्लेफ्रेमवर्क 2 SQLite

मैंने sqlitejdbc-v056.jar डाउनलोड किया है और इसे lib फ़ोल्डर में डाल दिया है।

db.driver=org.sqlite.JDBC 
db.url="jdbc:sqlite:/db/geolookup.sqlite" 
db.default.user=sa 
db.default.password=sa 

मैं एक फ़ोल्डर डाटाबेस बनाया है और इसे में मेरी SQLite db ड्रॉप:

मैं तो application.conf बदल दिया है।

अब मैं खेलने रन के साथ खेलने शुरू

सब कुछ ठीक संकलित करने के लिए लगता है, लेकिन जब मैं यूआरएल फोन: http://127.0.0.1:9000

मैं निम्नलिखित त्रुटि मिलती है:

driver.url बल्कि स्ट्रिंग प्रकार है निम्न पंक्ति के साथ वस्तु से हाइलाईट किए गए:

db.driver=org.sqlite.JDBC 

मैं क्या याद आ रही है?

+0

क्या आपने 'db.driver =" org.sqlite.JDBC "'? –

+3

एक साइड नोट के रूप में, आपको सीधे lib फ़ोल्डर में एक जार कॉपी नहीं करना चाहिए बल्कि लाइब्रेरी को निर्भरता के रूप में जोड़ना चाहिए। तो संपादित 'Application.build' करने के लिए, और' appDependencies' सूची में निम्नलिखित प्रविष्टि जोड़ने: '" org.xerial "%" SQLite-JDBC "%" 3.7.2 "' (की जगह जिस संस्करण का आप उपयोग करना चाहते हैं उसके साथ संस्करण) आप अपनी हर निर्भरता के लिए ऐसा कर सकते हैं, पहली स्ट्रिंग समूह आईडी है, दूसरा आर्टिफैक्ट आईडी और आखिरी संस्करण है। अगले सर्वर पर पुनरारंभ करें, चलाएं! आपके लिए निर्भरता को हल और डाउनलोड करेगा। – christopheml

उत्तर

10

इस प्रयास करें:

db.default.driver="org.sqlite.JDBC" 
db.default.url="jdbc:sqlite:/home/tex/dbtest" 
db.default.user="sa" 
db.default.password="" 

सूचना है कि डाटाबेस के फ़ोल्डर एक निरपेक्ष पथ होना चाहिए!

(BTW: इस विन्यास आवेदन शुरू होता है लेकिन जब मैं विकास यह एक अपवाद फेंकता चलाने का प्रयास, मुझे लगता है कि यह एक "बोली" समस्या है ... के साथ)

आशा इस मदद करता है ...

+1

धन्यवाद, इससे मदद मिली, वास्तव में मेरे पास चालक और यूआरएल भाग में डिफ़ॉल्ट नहीं था। विकास की बात के बारे में, मैंने पढ़ा है कि स्क्लाइट के लिए एक बोली जार है जिसे आप डाउनलोड कर सकते हैं और फिर यह काम करना चाहिए ... – PWFraley

+0

हाय वहाँ, मुझे यह बोली समस्या है, क्या आप जानते हैं कि यह जार यह ठीक कहां है ? – Arruda

+0

यह * पूर्ण * होना आवश्यक नहीं है। यदि आप केवल अग्रणी '/ 'को हटा देंगे, तो यह काम करेगा, उदा।, 'jdbc: sqlite: सापेक्ष/पथ/test.db' – dcastro

1

आप कॉन्फ़िगरेशन से डेटा प्राप्त करने के लिए गलत तरीके से गलत तरीके से उपयोग कर रहे हैं। अपने त्रुटि से मैं आप इस तरह इसका इस्तेमाल मान:

configuration.getConfig("db.driver") 

लेकिन इस विधि पथ "db.driver" के तहत एक JSON ऑब्जेक्ट की उम्मीद है। चूंकि "db.driver" पथ के अंतर्गत आप एक स्ट्रिंग है, तो आप डेटा इस पद्धति का उपयोग पढ़ना चाहिए:

configuration.getString("db.driver") 

यह "बल्कि वस्तु से" त्रुटि दूर जाना कर देगा।