Cơ sở dữ liệu HSQLDB có nhiều loại khác nhau. Cơ sở dữ liệu tất cả trong bộ nhớ không lưu trữ dữ liệu vào đĩa. Các cơ sở dữ liệu này có URL ở dạng jdbc:hsqldb:mem:<name>
.
Nếu URL cơ sở dữ liệu của bạn ở dạng jdbc:hsqldb:file:<file path>
và bảng của bạn là các bảng MEMORY mặc định, dữ liệu là tất cả trong bộ nhớ nhưng các thay đổi được ghi vào một tập hợp các tệp đĩa.
Với tất cả các loại cơ sở dữ liệu, bao gồm all_in_memory, bạn có thể sử dụng câu lệnh SQL SCRIPT <file path>
để lưu toàn bộ cơ sở dữ liệu vào tệp. Nếu bạn lưu dữ liệu vào tệp có đuôi mở rộng là .script
, bạn có thể mở tệp dưới dạng cơ sở dữ liệu tệp.
Khi bạn chạy một máy chủ, URL của được sử dụng mà không có tiền tố jdbc:hsqldb
, ví dụ server.database.0=file:C:/myfile
Xem hướng dẫn ở đây http://hsqldb.org/doc/2.0/guide/running-chapt.html#running_db-sect
HSQLDB có ghi bất kỳ tệp tạm nào vào đĩa và sau đó xóa chúng, khi tôi đang sử dụng URL db là jdbc: hsqldb: mem: và tôi chèn hàng vào bảng? Tôi đang triển khai ứng dụng Java Mule ESB của mình lên cloudhub. Nó hoạt động tốt trên địa phương nhưng không hoạt động trên đám mây. Có vẻ như cloudhub không cho phép ghi tệp. Ứng dụng hoạt động tốt khi tôi nhận xét ra chèn db và trả về phản hồi giả. –
RuntimeException
Bản ghi nhớ: cơ sở dữ liệu (URL jdbc: hsqldb: mem:) không ghi bất kỳ thứ gì vào hệ thống tệp. –
fredt
@fredt nếu chúng tôi loại trừ các tệp tạm thời – Antoniossss