2016-12-10 3 views
-1

Я пытаюсь вставить значения в таблицу на моем сервере oracle, однако программа продолжает работать и не выполняется. Это мой код:Вставить в Oracle DB с помощью Java

Это, как я подключиться к базе данных:

try { 
      connection = DriverManager.getConnection(
        "jdbc:oracle:thin:@abc.xxx.edu:1521:soeorcl","123", 
        "123"); 
     } catch (SQLException e) { 
      System.out.println("Connection Failed! Check output console"); 
      e.printStackTrace(); 
      return; 

Тогда я пытаюсь вставить значения в таблице:

try { 
      PreparedStatement prepareStatement = connection.prepareStatement("INSERT INTO MYTABLE (USERID, USERNAME, EMAILADDRESS, PHONENUMBER, PROFILEPICTURE)" 
        + " VALUES (?, ?, ?, ?, ?)"); 
      prepareStatement.setString(1, "10"); 
      prepareStatement.setString(2, "ALI"); 
      prepareStatement.setString(3, "gdgrgrregeg"); 
      prepareStatement.setString(4, "0501977498"); 
      prepareStatement.setNull(5, NULL); 
      prepareStatement.execute(); 
} catch (SQLException e) { 
      System.out.println("IT DOES NOT WORK"); 
     } 

Программа застревает на prepareStatement.execute(); I уже проверили ограничения, и они работают, если я вручную добавлю их на сервер oracle, но приведенный выше код не работает.

Любые идеи? Предложения?

+0

Где код "connection"? Установлен ли 'autoCommit' в' false'? – developer

+0

Оставьте поле между 'PROFILEPICTURE и VALUES' – Bala

+0

блокировки на столе? Можете ли вы увидеть сеанс ввода в db? – Kacper

ответ

0

Попробуйте напечатать строку sql, используемую в вашем подготовленном операторе, а затем скопируйте ее и запустите вручную. Часто в строке есть некоторые опечатки или недостающие пробелы. В вашем случае это может быть ошибка из того, как написано заявление.

Я заметил, что вам нужно пространство перед VALUES.

Смежные вопросы