从java预处理语句中杀死MS SQL进程?

我尝试使用
java中的预准备语句来杀死MS sql server(8)进程.但我总是收到异常:com.microsoft.sqlserver.jdbc.SQLServerException:第1行:’@ P0’附近的语法不正确.

有任何想法吗?

public void killBlockingProcess(int spid)   {
    PreparedStatement ps = null;
    try {
        ps = connection.prepareStatement("kill ?");
        ps.setInt(1, spid);
        boolean res=ps.execute();
    } 
    catch (Exception ex) {
        logger.error(this + ",killBlockingProcess: " + ex.getMessage());
    }
    finally
    {
        try {ps.close(); } catch (Exception exp){}
    }
}

最佳答案 kill只接受数字,而不接受参数.跑:

"kill " + spid

反对连接,它应该工作.或者,让SQL扩展参数:

"declare @query varchar(max)
set @query = 'kill ' + ?
exec (@query)"
点赞