2009-05-07 32 views
11

Tôi đang sử dụng hệ thống không có quyền truy cập vào đĩa. Chương trình C của tôi có trong bộ nhớ nội dung của một tệp hợp lệ, nhỏ, sqlite3 (đã nhận qua mạng). Tôi muốn sử dụng API C của sqlite3 để mở và truy cập tệp này (chỉ đọc là tốt).Làm cách nào để mở tệp cơ sở dữ liệu trong bộ nhớ vào sqlite3

Làm cách nào để thực hiện việc này? Tôi biết tôi có thể tạo ra một cơ sở dữ liệu trống trong bộ nhớ với

sqlite3_open(":memory:", &foo)

nhưng là có cách nào để mở db hiện tại của tôi? Tôi không có đặc quyền để tạo ra một đĩa ram, nhưng có lẽ một cái gì đó dọc theo những dòng? Cảm ơn.

Trả lời

11
+1

Đó là hữu ích, mặc dù (cho bất cứ ai đọc bài viết này sau), các mã thực tế là trong: http: //www.mail- archive.com/[email protected]/msg15905.html Rất tiếc, tôi không thực sự có thể sử dụng điều này vì chương trình của tôi thực sự ở dạng python (chạy trên "công cụ ứng dụng của Google", không cho phép C mở rộng) bằng cách sử dụng giao diện của python để sqlite ... Tôi đã sử dụng C trong câu hỏi của tôi để cố gắng đơn giản hóa vấn đề. Cảm ơn. –

+0

cập nhật 2: rõ ràng môi trường python của công cụ ứng dụng Google thậm chí không có mô-đun sqlite3, vì vậy động lực đằng sau câu hỏi ban đầu của tôi là vô nghĩa –

+4

Tại sao bạn sẽ nói rõ ràng: "Tôi muốn sử dụng API C của sqlite3" khi bạn đang sử dụng Python? –

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