2009-12-10 3 views
0

plate-forme: sql server 2000 java 1,4java: obtenir un message SqlException "syntaxe incorrrect près de '{'"

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(); 
} 

Dans le code ci-dessous sur excute() appeler donne exception sql avec le message « syntaxe incorrrect près ' {'".

code de départ de déclaration de procédure

est inférieure à

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

S'il vous plaît, aidez-moi à résoudre ce bug? Si l'information est insuffisante pour résoudre le problème, veuillez en informer.

+0

qui l'exécute se plaint environ? as-tu essayé de faire tourner le sproc directement? – mfeingold

+0

Quel pilote jdbc utilisez-vous? –

Répondre

1

Essayez prepareStatement(...) au lieu de prepareCall(...).

Questions connexes