2012-04-26 13 views
0

ドメインをテキスト・ファイルから取り出し、それを1つずつ問合せに渡します。 「ORA-00933:SQLコマンドが正常に終了しない」クエリが細かい実行されている..しかし、それは第二のドメインを取るときやエラーを取得照会するためにそれを渡す初めて ます場合は、以下の は、コードORA-00933:SQLコマンドが正しく終了していません:java

sql.append("select person_org_id,profile_type_id as NEXUS, profile_option_id,profile_option_value from TABLE1 "); 
      sql.append(" where profile_type_id=1 and person_org_id in (select person_org_id from TABLE2 where "); 
      sql.append(" account_id in (select account_id from TABLE3 where prod_id=10001 and prod_inst_name = ?)) "); 

      ps = con.prepareStatement(sql.toString()); 
      System.out.println("----------checkpoint -----------"); 

      ps.setString(1,domain_name); 
      System.out.println("----------checkpoint 4-----------"); 
      rs= ps.executeQuery(); 
      System.out.println("----------checkpoint 5-----------"); 

答えて

2

ですこのコードをループに入れて、StringBuilderをクリアしたり、新しいものを使用したりしないで、2回目にSQLステートメントを2回実行すると、エラーが説明されます。

単純なStringの場合にStringBuilderを使用する理由は何ですか? SQL文には何の変化もありません。もちろん、これは単純化された例でした。

また、ループでこれを実行しても、SQLが実際にはまったく同じ場合は、文を一度準備してループ内で繰り返し実行してください。それは何種類かのを準備したのための記述です。

+0

ありがとうございました..私はループの外側にsqlを配置してループを繰り返し実行しています...ありがとうu soo。しかし、私はxlsファイルとその書き込みの2回に取得されたデータを書いています...その1つをチェックして... – Cindrella

+0

ちょっとデータはxlsファイルで正しく書いています...もう一度お返事ありがとうございます..... – Cindrella

関連する問題