Khi sử dụng sqlite3 từ C/C++ tôi đã học được rằng nó có tùy chọn chế độ mở chỉ đọc, rất tiện lợi để tránh hỏng dữ liệu ngẫu nhiên. Có một điều như vậy trong ràng buộc Python không?Mở cơ sở dữ liệu sqlite3 từ python ở chế độ chỉ đọc
15
A
Trả lời
2
Do liên kết được đưa ra bởi @Chris, no. Nhưng có một wrapper cho sqlite3, đó là ít hơn PEP 249 tuân thủ và kết thúc tốt hơn sqlite3 chặt chẽ hơn, đồng hóa các tính năng mới của động cơ: http://code.google.com/p/apsw/. Trình bao bọc đó hỗ trợ mở cơ sở dữ liệu ở chế độ chỉ đọc, cộng với các phần tử khác.
21
Tính đến Python 3.4.0 bạn có thể mở cơ sở dữ liệu ở chế độ chỉ đọc như sau:
db = sqlite3.connect('file:/path/to/database?mode=ro', uri=True)
Xem thêm the documentation.
+0
LƯU Ý: điều này không hoạt động trên Python, chỉ trên Python 3 – lowtech
7
Giải pháp cho Python 2.x:
fd = os.open(filename, os.O_RDONLY)
c = sqlite3.connect('/dev/fd/%d' % fd)
os.close(fd)
Không posix, nhưng có sẵn trên Linux, OS/X và hầu hết unixes hiện đại.
Các vấn đề liên quan
- 1. Có thể mở cơ sở dữ liệu sqlite bị khóa ở chế độ chỉ đọc không?
- 2. sqlite3: cơ sở dữ liệu chính chỉ đọc và ATTACH
- 3. Không thể mở cơ sở dữ liệu Sqlite ở chế độ chỉ đọc
- 4. Cơ sở dữ liệu sqlite3 chỉ đọc an toàn
- 5. Cách mở cơ sở dữ liệu SQL Compact chỉ đọc
- 6. SQLite: cơ sở dữ liệu chỉ đọc
- 7. kết nối mở sql ở chế độ chỉ đọc
- 8. Sqlite3, OperationalError: không thể mở tệp cơ sở dữ liệu
- 9. Sqlite3 tập tin cơ sở dữ liệu mở rộng
- 10. Python chèn mảng numpy vào cơ sở dữ liệu sqlite3
- 11. Chế độ xem chỉ đọc mạch lạc của cơ sở dữ liệu
- 12. Tránh cơ sở dữ liệu sqlite3 bị khóa
- 13. Cách đọc cơ sở dữ liệu sqlite3, sử dụng nút js, đồng bộ?
- 14. java + sqlite: làm thế nào để mở cơ sở dữ liệu dưới dạng chỉ đọc?
- 15. Python sqlite3 "không thể mở tệp cơ sở dữ liệu" trên các cửa sổ
- 16. sqlite3 chèn và đọc dữ liệu BLOB trong cơ sở dữ liệu
- 17. Django là "không thể mở tệp cơ sở dữ liệu"
- 18. Mở một cơ sở dữ liệu chỉ đọc trực tiếp trong thư mục tài sản
- 19. Chế độ xem Sqlite trên nhiều cơ sở dữ liệu
- 20. Cách hibernate truy xuất dữ liệu từ chế độ xem cơ sở dữ liệu hiện tại?
- 21. NHibernate LINQ ở chế độ chỉ đọc
- 22. Làm cách nào để mở tệp cơ sở dữ liệu trong bộ nhớ vào sqlite3
- 23. Yii hạn chế kết nối cơ sở dữ liệu với chỉ đọc
- 24. Đọc cấu hình .NET từ cơ sở dữ liệu
- 25. Mở cơ sở dữ liệu và xem các bảng trong sqlite3?
- 26. Flask OperationalError: không thể mở tệp cơ sở dữ liệu bằng cách sử dụng sqlite3
- 27. Kết nối tối đa cho cơ sở dữ liệu sqlite3
- 28. Cơ sở dữ liệu cho Python Twisted
- 29. Khởi động cơ sở dữ liệu H2 ở chế độ máy chủ qua Spring
- 30. đọc hình ảnh BLOB từ cơ sở dữ liệu MySQL
Bản sao có thể có của: http://stackoverflow.com/questions/4239606/sqlite3-read-only-on-a-file-system-that-doesnt-support-locking – Chris
@Chris Xin cảm ơn, tôi sẽ làm lại câu trả lời chỉ để tiết kiệm một số công việc cho những người tương lai với cùng một câu hỏi. – dsign
có thể trùng lặp của [lực lượng python để từ bỏ bản địa sqlite3 và sử dụng (cài đặt) phiên bản mới nhất sqlite3] (http://stackoverflow.com/questions/1545479/force-python-to-forego-native-sqlite3-and-use- the-installed-latest-sqlite3-ver) –