سؤال

واحد من المناسب يستخدم للحصول على <لأ href = "HTTP: //www.sqlite حسنى "يختلط =" noreferrer "> sqlite3 عبارة" قواعد البيانات في الذاكرة ". هذا يبدو وكأنه أداة مفيدة حقا للتطبيقات بلدي C ++. هل هناك مثال كيف يتم ذلك في C أو C ++؟ أنا أبحث خصيصا لطريقة متعارف عليها لسلورب عدة ملفات مسطحة إلى قاعدة بيانات في الذاكرة، ثم القيام ينضم بعض.

هل كانت مفيدة؟

المحلول

وانها في الواقع من السهل جدا. مجرد تحديد ': الذاكرة:' كما اسم قاعدة البيانات عند فتح قاعدة بيانات باستخدام API C / C ++. انها ثابت خاص أن المحرك لن تعترف. ونفس الشيء في الواقع يعمل لغات أخرى مثل بايثون أو روبي، لأنها عادة مجرد التفاف / C ++ C API. انظر http://sqlite.org/c3ref/open.html للحصول على التفاصيل كاملة.

نصائح أخرى

ومجرد فتح ملف: الذاكرة: وينبغي أن تفعل ذلك (على الأقل هو الحال في PHP)

ولقد ذكرتم أن كنت تريد أن تقرأ في العديد من الملفات مسطحة والقيام ينضم عليها. إذا كان من الممكن لتخزين الملفات مسطحة كما في قواعد بيانات SQLite، يمكنك العمل مباشرة مع كل من طريق ربط واحدة إلى أخرى:

ATTACH foo.db AS foo

وثم الرجوع إلى الجداول في فو مثل ذلك:

SELECT * FROM foo.users

وبهذه الطريقة يمكنك أن تفعل بك تنضم دون الحاجة إلى إنشاء قاعدة بيانات في الذاكرة.

إذا كنت تريد سكليتي إلى عدم استخدام الملفات المؤقتة كما والمجلات، ومنها مثلا، كنت لا تريد أي نشاط ملف آخر من عند يطلب الاتصال، قطع الاتصال، أو إرفاق فصل يدويا. ثم استخدم pragmas التاليين في وقت التشغيل بعد الاتصال بك ": الذاكرة:" قاعدة بيانات

PRAGMA temp_store=MEMORY;
PRAGMA journal_mode=MEMORY;

ومن مستندات rel="noreferrer">

scroll top