سؤال

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

عندما أقوم بما يلي من خلال نموذج Ictiverecord الدنيوية الجميل:

@total = SessionLog.count(:id)

أحصل على الاستثناء التالي:

activerecord :: compatherinvalid (activerecord :: activerecorderror: ليس في الوظيفة الإجمالية أو المجموعة حسب الفقرة: Org.hsqldb.expression@7be117eb في العبارة [حدد العد (Session_logs.ID) كعد من Session_logs حيث (create_at> = '2010-02- 06 'و Create_at <=' 2010-03-09 'و seaste_type =' tunnel_client ') order by id desc]:

حدد العد (Session_logs.ID) ك Count_ID من Session_logs حيث (created_at> = '2010-02-06' و create_at <= '2010-03-09' and session_type = 'tunnel_client') ترتيب حسب المعرف DESC)

يبدو من الواضح لي أن عبارة العد تسبب المشكلة في HSQLDB، لكنني لست متأكدا من الحل هو إصلاح هذا. SQLite3 و MySQL كل من عملية بيان SQL هذا دون إصدار.

أنا منفتح لاستخدام قاعدة بيانات مختلفة بخلاف HSQLDB، ولكن يجب تضمينه في طلبنا على JVM. هذا هو نداء HSQLDB.

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

المحلول

ربما وجدت علة في محول activerecord - activerecord-jdbchsqldb-adapter انا افترض.

يمكنك محاولة تشغيل SQL مباشرة في بعض جلسة SQL غير Ruby؟ ثم ربما يمكنك أن ترى أين تسير الخطأ وتقديم خطأ أو (أفضل)، أرسل رقعة.

نصائح أخرى

يمكنك المحاولة قاعدة بيانات H2, ، الأسلاك مثل وبالتالي. وبعد من ويكيبيديا:

مشغل قاعدة البيانات مكتوب بواسطة توماس مولر. كما طور محرك قاعدة بيانات Java Hypersonic SQL [1]. في عام 2001، تم إيقاف SQL Hypersonic، وتم تشكيل مجموعة HSQLDB لمواصلة العمل على رمز SQL Hypersonic. يحدد اسم H2 ل Hypersonic 2، ومع ذلك لا يشارك H2 أي رمز مع SQL أو HSQLDB Hypersonic. تم بناء H2 من نقطة الصفر.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top