6

Có thể sử dụng "bộ nhớ cache dùng chung" của sqlite3 thông qua activerecord không? (xem: http://www.sqlite.org/inmemorydb.html)bộ nhớ cache chia sẻ bộ nhớ trong bộ nhớ actorecord

Tôi sử dụng activerecord độc lập (không có đường ray) trong ứng dụng JRuby Swing, với một số Chủ đề công nhân liên quan. Vấn đề: CHỈ các chủ đề chính có thể truy cập dữ liệu, vì mỗi thread xây dựng lại một DB trong bộ nhớ mới. Vì vậy, tôi nhận được chỉ

[SQLITE_ERROR] lỗi SQL hoặc thiếu cơ sở dữ liệu (không có bảng như: insert_model_name)

từ khắp mọi nơi, ngoại trừ các chủ đề chính. Có cách nào khác không hay tôi đã bỏ lỡ điều gì đó? (tôi sử dụng phiên bản mới nhất của jruby, java và đá quý)

Cảm ơn bạn trước!

Database-Config cho đến nay: https://gist.github.com/4482423

UPDATE: kịch bản tối thiểu để minh họa cho vấn đề. Nó chạy tốt dưới Linux nhưng không phải trong Windows 7: https://gist.github.com/4483617

+0

Bạn có thể đăng tệp database.yml của mình không? – moritz

+0

đã cập nhật câu hỏi của tôi :) – Hisako

Trả lời

3

Các mã thông báo sau hoạt động tốt:
"file::memory:?cache=shared"
Ngoài ra, kiểm tra phiên bản SQLite của bạn, nó phải được ít nhất 3.7.13 để hỗ trợ tính năng này.

+0

Tham khảo: https://www.sqlite.org/sharedcache.html – Kelvin

Các vấn đề liên quan