Я пытаюсь читать / записывать данные BLOB-объектов из файла .sqlite, используя Rust и rusqlite;однако Cargo сообщает, что blob
не существует в русклите.Вот пример кода, который я тестировал из документации :
use rusqlite::blob::ZeroBlob;
use rusqlite::{Connection, DatabaseName, NO_PARAMS};
use std::error::Error;
use std::io::{Read, Seek, SeekFrom, Write};
fn main() -> Result<(), Box<Error>> {
let db = Connection::open_in_memory()?;
db.execute_batch("CREATE TABLE test (content BLOB);")?;
db.execute(
"INSERT INTO test (content) VALUES (ZEROBLOB(10))",
NO_PARAMS,
)?;
let rowid = db.last_insert_rowid();
let mut blob = db.blob_open(DatabaseName::Main, "test", "content", rowid, false)?;
/* snip */
Ok(())
}
Вот мой файл Cargo.toml:
[package]
# ...
[dependencies]
[dependencies.rusqlite]
version = "0.18.0"
features = ["bundled"]
Следует отметить, чтоМне пришлось использовать метод bundled
, так как стандарт rusqlite = "0.18.0"
у меня не работал.В документации сказано, что blob
должен работать только с SQLite 3.7.4 и выше, но я не вижу причин, по которым у меня будет более старая версия, и я также не знаю, как это проверить.Есть идеи?