造成连接复位异常线程“main” org.hibernate.exception.JDBCConnectionException:无法打开连接
我试图通过休眠我的java程序连接到SQL Server R2 20008,但我得到错误
主类是如下
package com.prizm;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;
import org.hibernate.service.ServiceRegistry;
import org.hibernate.service.ServiceRegistryBuilder;
public class SecondPractice {
public static void main(String args[]){
Configuration configuration = new
Configuration().configure("hibernate.cfg.xml");
ServiceRegistryBuilder registry = new ServiceRegistryBuilder();
registry.applySettings(configuration.getProperties());
ServiceRegistry serviceRegistry = registry.buildServiceRegistry();
SessionFactorysessionFactory=configuration.buildSessionFactory(serviceRegistry);
Session session = sessionFactory.openSession();
session.beginTransaction();
Student lecturer = new Student();
lecturer.setFirstname("raj");
lecturer.setLastname("kumar");
session.save(lecturer);
session.getTransaction().commit();
session.close();
}
}
所以我在哪里犯错,我需要什么到k现在关于这个错误,怎么解决呢 在此先感谢
在这里,我已经编辑我的问题,从上述公布的不同的代码,因为我不舒服log4j属性,所以我已经试图在我的Java代码连接到数据库通过JDBC,连接正在完成,但是当涉及到创建任何表或任何其他与数据传输有关的事情时,它会给我提供与前面提到的相同的错误。
这里是JDBC代码与Java的API记录器沿(java.util.logger程序)
package com.prizm;
import java.sql.*;
import java.util.logging.Level;
import java.util.logging.Logger;
import java.util.logging.FileHandler;
import java.util.logging.SimpleFormatter;
public class JKL {
public static Logger logger=Logger.getLogger(JKL.class.getName());
public static FileHandler fh=null;
public static void init(){
try{
fh=new FileHandler("logger.log",false);
}catch(Exception e){}
fh.setFormatter(new SimpleFormatter());
Logger l=Logger.getLogger("");
l.addHandler(fh);
Connection con=null;
try{
DriverManager.registerDriver(new com.microsoft.sqlserver.jdbc.SQLServerDriver());
con=DriverManager.getConnection("jdbc:sqlserver://167.01.09.12;IntegratedSecurity=true");
if(con!=null){
System.out.println("done");
}
Statement st=con.createStatement();
st.executeUpdate("create table hi(id int,name varchar(50))");
}catch(SQLException e){l.log(Level.SEVERE,"Here is your error",e);}
}
public static void main(String args[]){
JKL.init();
}
}
和我得到的日志记录是这样的
所以我应该从中理解什么,我需要做一些配置的微软sql server 2008 r2,因为我有sp1版本和这个一段代码在我朋友的电脑上工作得很好。
配置log4j.properties,以便您可以获取调试日志。我们可以诊断 –
我有类SecondPractice.class,所以如何配置log4j.properties到我的文件,我有log4j.jar文件进入我的库,我没有太多关于log4j.jar的知识,你可以发布代码为了那个原因。 –
请以** text **形式发布异常堆栈跟踪,而不是屏幕截图。 –