【发布时间】:2017-04-08 17:31:37
【问题描述】:
由连接重置引起
我正在尝试通过休眠将我的 java 程序连接到 sql server 20008 r2 但我收到 错误
主类如下
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();
}
}
那么我在哪里犯了错误,我需要知道关于这个错误的什么,如何解决它 提前致谢
在这里我编辑了我的问题并发布了与上述不同的代码,因为我对 log4J 属性不满意,所以我尝试通过 JDBC 将我的 java 代码连接到数据库,连接完成但是当涉及到创建任何表或与数据传输相关的任何其他事情时,它会给我带来与我提到的相同的错误。
这是 JDBC 的代码以及 java 的 Logger 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();
}
}
我得到的日志记录是这样的
所以我应该从中了解什么,我需要对 microsoft sql server 2008 r2 的配置做些什么,因为我有 sp1 版本,这段代码在我朋友的电脑上运行良好。
【问题讨论】:
-
配置 log4j.properties 以便获取调试日志。我们可以诊断的帖子
-
我有 SecondPractice.class 类,所以如何将 log4j.properties 配置到我的文件中,我的库中有 log4j.jar 文件,我对 log4j.jar 了解不多,你能发布吗代码。
-
请将异常堆栈跟踪发布为文本,而不是屏幕截图。
标签: java sql-server hibernate jdbc sql-server-2008-r2