سؤال

أقوم بتضمين JRE في تطبيق C موجود باستخدام واجهة برمجة تطبيقات Invocation ، وأود أن أتمكن من استخدام JDBC للعمل مع قاعدة البيانات في هذا الرمز.هذا التطبيق هو تطبيق معالجة المعاملات ، ويتم إدارة معاملة قاعدة البيانات بواسطة رمز في الجزء C من التطبيق ، ويجب أن يتم تشغيل رمز Java ضمن تلك المعاملة.هذا يعني أنني لا أستطيع فتح ملفجديد الاتصال، لا بد لي من إعادة استخدام القائمة.

لذلك ، هل هناك طريقة لتوفير وصول JDBC إلى مقبض اتصال ODBC موجود عند إعداد JRE؟ربما بعض جسر JDBC-ODBC ، ولكن على عكس برنامج التشغيل الحالي بهذا الاسم ، يمكن إعداده لاستخدام اتصال ومعاملة موجودة.

خياراتي الأخرى، كما أراها، هي كما يلي:

  • توفير مكافئات Java لكل عملية C الممكنة في التطبيق (هذا غير مرغوب فيه لأسباب عديدة عديدة - لدينا العديد من الطرق وتكرارها هو ألم في المؤخرة.

  • اكتب برنامج تشغيل JDBC الخاص بي الذي يغلف اتصال ODBC مع JNI.بالتأكيد ، سيكون مشروع عطلة نهاية أسبوع ممتعة (شهر) ، لكنني أتوقع أن أحتاج إلى شيء أسرع من ذلك.

ساعدني يا Stack-Overflow، أنت أملي الوحيد!

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

المحلول

لا أعلم إن كان هذا سينجح، لكن...لقد ألقيت نظرة سريعة على الكود المصدري الذي تم فك ترجمته لجسر Sun's JDBC-ODBC.يبدو أنه يمكنك فئة فرعية من JdbcOdbcConnection بحيث تقوم بتهيئة نفسها باستخدام مقبض اتصال معروف وحالة مفتوحة بالفعل.يفترض هذا أن مقابض الاتصال الموجودة على جانب Java هي مقابض اتصال ODBC فعلية أو مؤشرات لكائنات الاتصال، وأن مكتبات ODBC المستخدمة بواسطة جسر JDBC-ODBC والتعليمات البرمجية الخاصة بك متوافقة بمعنى أنه يمكنها مشاركة مقابض الاتصال.

تحتاج إلى التحقق مما إذا كان ترخيص Sun يسمح للمطورين بتنفيذ مثل هذه الحيل أم لا.

نصائح أخرى

توفر الشمس أ جسر JDBC-ODBC في JDK.

يحرر:تبدو إعادة القراءة وكأنك تعرف عنها بالفعل ولا تريد استخدامها.

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