6

सक्रियrecord के माध्यम से sqlite3 के "साझा कैश" का उपयोग करना संभव है? (देखें: http://www.sqlite.org/inmemorydb.html)activerecord इन-मेमोरी साझा कैश

मैं कुछ वर्कर-थ्रेड शामिल होने के साथ, जेआरबी स्विंग ऐप में सक्रियरेकॉर्ड स्टैंडअलोन (बिना रेल के) का उपयोग करता हूं। समस्या: केवल मुख्य धागा डेटा तक पहुंच सकता है, क्योंकि प्रत्येक थ्रेड एक नई इन-मेमोरी डीबी का पुनर्निर्माण करता है। तो मैं मिलता है सिर्फ

[SQLITE_ERROR] एसक्यूएल त्रुटि या लापता डेटाबेस (जैसे कोई तालिका: insert_model_name)

हर जगह से

, मुख्य थ्रेड को छोड़कर। क्या कोई कामकाज है या क्या मुझे कुछ याद आया? (मैं jruby, जावा, और रत्न के नवीनतम संस्करणों का उपयोग करता हूं)

अग्रिम धन्यवाद!

डाटाबेस-कॉन्फ़िग अब तक: https://gist.github.com/4482423

अद्यतन: समस्या को वर्णन करने मिनिमल स्क्रिप्ट। यह अच्छी तरह से लिनक्स के तहत लेकिन विंडोज 7 में नहीं चलता है: https://gist.github.com/4483617

+0

क्या आप अपना डेटाबेस.आईएमएल फाइल पोस्ट कर सकते हैं? – moritz

+0

मेरा प्रश्न अपडेट किया गया :) – Hisako

उत्तर

3

निम्न टोकन अच्छी तरह से काम करता है: इसके अलावा
"file::memory:?cache=shared"
, अपने SQLite संस्करण की जांच, यह इस सुविधा का समर्थन करने के लिए कम से कम 3.7.13 होना चाहिए।

+0

संदर्भ: https://www.sqlite.org/sharedcache.html – Kelvin