java:获取sqlexception消息“''''附近的语法不正确

时间:2009-12-10 13:07:29

标签: java sql-server call procedure

平台: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异常,并在“{'”附近显示了“incorrrect syntax”。

程序声明起始码在

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

请帮我解决这个错误? 如果信息不足以解决问题,请告知。

1 个答案:

答案 0 :(得分:1)

尝试使用prepareStatement(...)代替prepareCall(...)