سؤال

لقد قمت بوجود هذا السؤال كثيرًا والإجابات غير متسقة ولم يساعد أي منها. لذلك اعتقدت أنه يمكنني الحصول على مزيد من المساعدة هنا. أحتاج إلى ترميز تطبيق صغير في Java لفصلتي التالية التي تحصل على بيانات من قاعدة بيانات Access MS (MDB) باستخدام ODBC. نظام التشغيل الخاص بي هو Windows 7 Ultimate 64bits. أعلم أن هناك ODBCAD32 في مجلد Syswow64. تمكنت من إعداد DSN هناك. لكن لا يمكنني الاتصال. التطبيق يلقي استثناء SQL. حاول اثنين من البديل ل drivermanager.getConnection ():

jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBH=E:/DB.mdb

و

jdbc:odbc:DSN_NAME

السائق هو:

sun.jdbc.odbc.JdbcOdbcDriver

تعديل

رمز الاتصال هو في الأساس ما يلي:

    try {
        Class.forName(driver);
        db = DriverManager.getConnection(url);
    }
    catch(SQLException e) {
        System.out.println("SQL error!");
    }
    catch(ClassNotFoundException e) {
        System.out.println("Class not found!");
    }

/تعديل

ولا يعمل. لا أعرف كيفية إصلاح المشكلة لأنني لا أعرف أين تكمن المشكلة! إذا كان سائق ODBC أو Java أو أيا كان.

إنه أمر مزعج للغاية لاستخدام WinXP الظاهري للقيام بهذه المهمة. هذا لا يمكن أن يستمر إلى الأبد.

EDIT2

فقط للتأكد: إنه يعمل على WinXP ، كما هو ضمني. :}

/edit2

سأقدر الكثير من المساعدة التي يمكنني الحصول عليها إلى هنا. : DDDDD

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

المحلول

لذا ، نظرًا لأن لديك بالفعل إعداد ODBC ، فقد ترغب أيضًا في التأكد من أنك تستخدم نفس برنامج تشغيل ODBC 64 بت (إذا قمت بإنشاء اتصال ODBC الخاص بك تحت ٪ windir ٪ system32 odbcad32.exe). أعلم حقيقة أنه لا يوجد برنامج تشغيل 64 بت لـ Access 2007 ، لذا في حالتي ، اضطررت إلى إنشاء اتصال ODBC 32 بت (٪ windir ٪ syswow64 odbcad32.exe) ، وخفض نسخة Java إلى 32 بت واستخدام سائق 32 بت لجعله يعمل.

أتمنى أن يساعدك هذا!

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