Я занимаюсь исследованиями пару дней, и это моя последняя пуля, надеюсь, вы, ребята, можете мне помочь.
В основном я пытаюсь создать внешнюю таблицу в реляционной базе данных Oracle 12c, которая указывает на таблицу моей базы данных Oracle NoSQL. Я делаю это, следуя этому руководству . Все шло хорошо до достижения точки 4, где вы генерируете файл ".dat", используя некоторые библиотеки. У меня есть свой случай с моими собственными данными, но вы можете увидеть полный пример процесса здесь .
Проблема, с которой я сталкиваюсь, возникает при выполнении следующей команды:
java -cp ./lib/kvstore-ee.jar:./lib/ojdbc6.jar oracle.kv.exttab.Publish -config ./exttab/nueva.xml -publish -verbose
, что приводит меня к следующей ошибке:
Picked up _JAVA_OPTIONS: -Djava.security.egd=file:/dev/./urandom
Error: A JNI error has occurred, please check your installation and try again
Exception in thread "main" java.lang.NoClassDefFoundError: oracle/kv/KVStoreException
at java.lang.Class.getDeclaredMethods0(Native Method)
at java.lang.Class.privateGetDeclaredMethods(Class.java:2701)
at java.lang.Class.privateGetMethodRecursive(Class.java:3048)
at java.lang.Class.getMethod0(Class.java:3018)
at java.lang.Class.getMethod(Class.java:1784)
at sun.launcher.LauncherHelper.validateMainClass(LauncherHelper.java:544)
at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:526)
Caused by: java.lang.ClassNotFoundException: oracle.kv.KVStoreException
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 7 more
Теперь я перейду к вещам, которым пытался следовать, чтобы решить эту проблему:
- Различные версии JDK
- Различные версии файлов .jar.
- Переключение файлов в родительский каталог
- Выполнение команды из разных каталогов.
- Проверка кода в участвующих классах вручную, чтобы увидеть, отличается ли он от оригинала, предоставленного Oracle
На данный момент, я не знаю, делаю ли я что-то неправильно или что-то не так с окружающей средой. Мне просто нужно иметь возможность выполнить это, чтобы сгенерировать файл .dat, но я не могу найти способ. Я оставляю здесь некоторую информацию на случай, если она поможет:
Окружающая среда . Я использую Docker-контейнер с дистрибутивом Oracle NoSQL . В этой среде я установил эту версию JDK:
- Java-версия "1.8.0_73" Java (TM) SE Runtime Environment (сборка
1.8.0_73-b02) 64-разрядная виртуальная машина Java HotSpot (TM) (сборка 25.73-b02, смешанный режим)
У меня есть все jar-файлы, необходимые по путям, указанным в команде, и, конечно, XML-файл. Я также могу предоставить вам переменные окружения, код для файла конфигурации или, в основном, все, что вам нужно, но я потерян на этом этапе. Заранее спасибо.