Проблема с соединением JDBC (Java к оракулу) - PullRequest
0 голосов
/ 28 июня 2018

Я пытаюсь извлечь значения из Java в таблицу в Oracle, но у меня возникла следующая проблема:

ошибка:

> at java.lang.ClassLoader.loadClass(Unknown Source)    at
> sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)    at
> java.lang.ClassLoader.loadClass(Unknown Source)   at
> java.lang.Class.forName0(Native Method)   at
> java.lang.Class.forName(Unknown Source)   at
> com.example.example1.query.demo.QueryDataNoPayload.lambda$1(QueryDataNoPayload.java:168)
>   at java.lang.Iterable.forEach(Unknown Source)   at
> com.example.example1.query.demo.QueryDataNoPayload.main(QueryDataNoPayload.java:94)
> java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver     at
> java.net.URLClassLoader.findClass(Unknown Source)

код, который я использую, следующий

result.forEach(record -> 
          {
              String xml = record.getPayload().get();

              Summary summary = SUMMARIZER.summarize(xml);

              String a1 = (String) summary.getFields().get("gs") ;
              String a2 = (String) summary.getFields().get("dsf");
              String a3 = (String) summary.getFields().get("asOfDate");

              //Loading and registering Oracle database thin driver                
                try {
                    Class.forName("oracle.jdbc.driver.OracleDriver");
                    //Creating a connection between Java program and Oracle database.
                    Connection con;
                    con = DriverManager.getConnection("jdbc:oracle:thin:@Classified details");
                    //Creating a Statement object to excute SQL statements 
                    Statement sql= con.createStatement();
                    //Executing a SQL INSERT query using executeUpdate()  method of Statement object.
                    sql.executeUpdate("INSERT INTO  example__DATA.Execution VALUES("+"'"+a1+"'"+","+"'"+a2+"'"+","+"'"+a3+"'"+")");

                }
                catch (SQLException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                } catch (ClassNotFoundException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }

Пожалуйста, помогите мне понять, что не так?

Ответы [ 2 ]

0 голосов
/ 28 июня 2018
java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver

Приведенная выше строка с ошибкой говорит, что упомянутый класс не найден.

Пожалуйста, убедитесь, что в вашем JVM ClassPath присутствует jar ojdbc. Предпочтительно ojdbc6.jar

Также в банке ojdbc есть 2 класса драйверов

- oracle.jdbc.driver.OracleDriver
- oracle.jdbc.OracleDriver

Код будет работать для обоих из них.

0 голосов
/ 28 июня 2018

Правильно ли вы добавили JAR-библиотеку Oracle в путь к классам?

Возможно, попробуйте использовать "oracle.jdbc.OracleDriver", если вы правильно добавили банку в путь к классам.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...