هل يمكن لـ OCI برنامج تشغيل 11G (ODBC5.JAR) العمل مع عميل 10G؟
سؤال
أحتاج إلى الاتصال بـ Oracle9،10 و 11 في تطبيق Java الخاص بي. سيكون العميل دائمًا موجودًا حيث سيتم تشغيل التطبيق وأريد أن يعمل التطبيق فقط مع اسم المستخدم وكلمة المرور والمثيل (المحدد في tnsnames.ora). أرغب في سائقي OCI مع سلسلة اتصال من النوع: JDBC: Oracle: OCI: Testora .IM باستخدام برنامج التشغيل: oracle.jdbc.driver.oracledriver. لدي عميل 10G وأستخدم JDK1.5. عندما أستخدم جرة OJDBC14 من مسار العميل LIB ، يعمل التطبيق.
ولكن إذا استخدمت برنامج تشغيل OJDBC5 ، فإن التطبيق يفشل مع استثناء في موضوع "Main" java.lang.unsatisfiedlinkerror: لا OCIJDBC11 في Java. استثناء المكتبة.
ما أبحث عنه هو وسيلة لتعبئة جرة واحدة (OJDBC5/OJDBC14) وسائق واحد يستخدم برامج تشغيل OCI للاتصال بالعميل الموجود على الجهاز المحلي (9/10/11). هذا هو الطريق I يفضل ذلك.
إذا لم يكن ذلك ممكنًا ، فهل يمكنني البحث في مربع UNIX لإصدار Oracle ، فاختر الجرة الصحيحة ثم استخدامها في ClassPath عند استدعاء التطبيق الذي يكون بتنسيق جرة؟
شكرا ، سقط
المحلول
java.lang.unsatisfiedlinkerror: لا OCIJDBC11 في java.library.path
هذا يعني أنك تفتقد DLL (OCIJDBC11.DLL) في مسار مكتبة Java. تأكد من أن لديك DLL وبدء برنامجك مثل هذا:
java -Djava.library.path=C:\mydirwiththedll com.mypackage.MyProgram
نصائح أخرى
يهدف OJDBC5.JAR إلى العمل مع JDK1.5