java com.microsoft.sqlserver异常
我用jsf技术开发了一个java网站。为了完成一些任务,我需要连接并从MS SQLServer2008检索数据 至少我认为,这个应用程序运行得很好,但是当它因为一个cange而需要重新部署我的站点时,我总是会得到一个类型错误 web应用程序[]创建了一个ThreadLocal,其密钥类型为[com.microsoft.sqlserver.jdbc.ActivityCorrelator$1],值类型为[com.microsoft.sqlserver.jdbc.ActivityId],但在web应用程序停止时未能将其删除。线程将随着时间的推移而更新,以尝试避免可能的内存泄漏 为了连接到DB,我使用以下代码:java com.microsoft.sqlserver异常,java,sql-server-2008,jdbc,Java,Sql Server 2008,Jdbc,我用jsf技术开发了一个java网站。为了完成一些任务,我需要连接并从MS SQLServer2008检索数据 至少我认为,这个应用程序运行得很好,但是当它因为一个cange而需要重新部署我的站点时,我总是会得到一个类型错误 web应用程序[]创建了一个ThreadLocal,其密钥类型为[com.microsoft.sqlserver.jdbc.ActivityCorrelator$1],值类型为[com.microsoft.sqlserver.jdbc.ActivityId],但在web应用
Connection con = null;
PreparedStatement prepSQL = null;
ResultSet rs = null;
UserInfo userDetails = null;
try
{
//Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
String DBuserName = "myusername";
String DBpassword = "mypassword";
String url = "jdbc:sqlserver://localhost:1433"+";databaseName=myDB";
con = DriverManager.getConnection(url, DBuserName, DBpassword);
String query = "SELECT TOP 1 * FROM Users where Username= ? ";
prepSQL = con.prepareStatement(query);
prepSQL.setString(1, username);
rs = prepSQL.executeQuery();
String[] result = new String[8];
if(rs!=null){
while (rs.next()){
if (EncryptDecrypt.decrypt(rs.getString("Password")).equals(password))
{
userDetails = new UserInfo();
userDetails.setID(Integer.parseInt(rs.getString("ID")));
userDetails.setUsername(rs.getString("Username"));
userDetails.setFirstName(rs.getString("FirstName"));
userDetails.setSurname(rs.getString("Surname"));
userDetails.setRole(rs.getString("Role"));
}
else
userDetails = null;
}
}
} catch (Exception e)
{
e.printStackTrace();
userDetails = null;
}
finally
{
if (rs!=null)
rs.close();
if (prepSQL!=null)
prepSQL.close();
if (con!=null)
con.close();
}
我无法理解我做错了什么,每次当我关闭连接时,我都会遇到这个错误我与SQL2012有完全相同的问题。你修好了吗?我有一个更老的war(仅仅在11天前),它可以完美地部署,并且不改变核心数据库的连接