sql server表更新给出错误java.lang.NoClassDefFoundError:com / microsoft / sqlserver / jdbc / TDSWriter $ 1

时间:2019-04-22 18:26:07

标签: java sql sql-server jdbc spring-jdbc

当我在本地运行应用程序时,对SQL Server表的更新工作正常。但是当我尝试在我们的linux服务器上的jenkins上运行已部署的版本时,却出现了错误“ java.lang.NoClassDefFoundError:com / microsoft / sqlserver / jdbc / TDSWriter $ 1”。

我正在使用org.springframework.data.repository.save更新表中的记录。

try{
    userRepository.save(personnel);
}catch (Exception e){
    String message = "There is an exception while updating userrecord in the database";
logger.error(message, e);
}

java.lang.NoClassDefFoundError: com / microsoft / sqlserver / jdbc / TDSWriter $ 1 com.microsoft.sqlserver.jdbc.TDSWriter.writeRPCByteArray(IOBuffer.java:4526) com.microsoft.sqlserver.jdbc.DTV $ SendByRPCOp.execute(dtv.java:1158)com.microsoft.sqlserver.jdbc.DTV.executeOp(dtv.java:1311) com.microsoft.sqlserver.jdbc.DTV.sendByRPC(dtv.java:1503)

1 个答案:

答案 0 :(得分:0)

我已解决此问题。在部署了应用程序的linux服务器上,我有多个版本的sqljdbc jar。只需要一个sql jdbc jar(sqljdbc42.jar)。因此,删除其他sql jdbc jar已解决了此问题。它在我的本地计算机上有效,因为我的系统上没有多个版本。