2016-12-10 8 views
-1

Oracleサーバー上のテーブルに値を挿入しようとしていますが、プログラムは実行し続けて実行されません。Javaを使用してOracle DBに挿入します。

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

「接続コード」はどこですか? 'autoCommit'は' false'に設定されていますか? – developer

+0

'PROFILEPICTURE)とVALUES'の間にスペースを入れてください – Bala

+0

テーブルのロック? dbの挿入セッションが見えますか? – Kacper

答えて

0

プリペアドステートメントで使用されているSQL文字列を印刷し、コピーして貼り付けて手動で実行してください。文字列にスペルミスやスペースがないことがよくあります。あなたのケースでは、文が書かれている方法からの誤りかもしれません。

VALUESの前にスペースが必要であることに気付きました。

関連する問題