0

プラットフォーム:sql server 2000 java 1.4

String queryStringForCustomer = "{call MIGRATE_CUSTOMERS_FILE(?,?)}";
String queryStringForCard = "{call MIGRATE_CARDS_FILE(?,?)}";
for(int i=0;i<recordIds.size();i++)
{
 if(FileType.equals("1")){
  callableStatement = connection.prepareCall(queryStringForCustomer);
  callableStatement.setString(1,(String)recordIds.get(i));
  callableStatement.setInt(2, 0);
  callableStatement.execute();
 }else {
  callableStatement = connection.prepareCall(queryStringForCard);
  callableStatement.setString(1,(String)recordIds.get(i));
  callableStatement.setInt(2, 0);
  callableStatement.execute();
 }

 callableStatement.close();
}

以下のexcute()呼び出しのコードでは、「'{'の近くの構文が正しくありません」というメッセージとともにSQL例外が発生します。

プロシージャ宣言の開始コードは以下のとおりです

     CREATE PROCEDURE MIGRATE_CUSTOMERS_FILE    
       @FILE_RECORD_ID VARCHAR(200),    
       @IS_FILE NUMERIC(2) = 1 

このバグを解決するのを手伝ってください。情報が問題を解決するのに不十分である場合、plsは通知します。

4

1 に答える 1

1

prepareStatement(...)の代わりに試してくださいprepareCall(...)

于 2009-12-10T13:30:17.987 に答える