首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

hibernate有关问题 error establishing socket

2012-03-18 
hibernate问题 error establishing socket在网上找了好多资料 也安装了sp4补丁 与数据库连接正常 就是hibe

hibernate问题 error establishing socket
在网上找了好多资料 也安装了sp4补丁 与数据库连接正常 就是hibernate连不上.
求解答
出错信息:
Exception in thread "main" org.hibernate.exception.JDBCConnectionException: Cannot open connection
at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:97)
at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:66)
at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:52)
at org.hibernate.jdbc.ConnectionManager.openConnection(ConnectionManager.java:449)
at org.hibernate.jdbc.ConnectionManager.getConnection(ConnectionManager.java:167)
at org.hibernate.jdbc.JDBCContext.connection(JDBCContext.java:142)
at org.hibernate.transaction.JDBCTransaction.begin(JDBCTransaction.java:85)
at org.hibernate.impl.SessionImpl.beginTransaction(SessionImpl.java:1354)
at StudentsTest.main(StudentsTest.java:25)
Caused by: java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]Error establishing socket.
at com.microsoft.jdbc.base.BaseExceptions.createException(Unknown Source)
at com.microsoft.jdbc.base.BaseExceptions.getException(Unknown Source)
at com.microsoft.jdbc.base.BaseExceptions.getException(Unknown Source)
at com.microsoft.jdbc.sqlserver.tds.TDSConnection.<init>(Unknown Source)
at com.microsoft.jdbc.sqlserver.SQLServerImplConnection.open(Unknown Source)
at com.microsoft.jdbc.base.BaseConnection.getNewImplConnection(Unknown Source)
at com.microsoft.jdbc.base.BaseConnection.open(Unknown Source)
at com.microsoft.jdbc.base.BaseDriver.connect(Unknown Source)
at java.sql.DriverManager.getConnection(DriverManager.java:582)
at java.sql.DriverManager.getConnection(DriverManager.java:154)
at org.hibernate.connection.DriverManagerConnectionProvider.getConnection(DriverManagerConnectionProvider.java:133)
at org.hibernate.jdbc.ConnectionManager.openConnection(ConnectionManager.java:446)
... 5 more

hibernate.cfg.xml配置信息:

<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
  "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
  "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">

<hibernate-configuration>

  <session-factory>

  <!-- Database connection settings -->
  <property name="connection.driver_class">com.microsoft.jdbc.sqlserver.SQLServerDriver</property>
  <property name="connection.url">jdbc:microsoft:sqlserver://127.0.0.1/hibernate</property>
  <property name="connection.username">sa</property>
  <property name="connection.password">wmusic</property>

  <!-- JDBC connection pool (use the built-in) -->
  <!-- <property name="connection.pool_size">1</property>-->

  <!-- SQL dialect -->
  <property name="dialect">org.hibernate.dialect.SQLServerDialect</property>

  <!-- Enable Hibernate's automatic session context management -->
  <!--<property name="current_session_context_class">thread</property> -->

  <!-- Disable the second-level cache -->
  <property name="cache.provider_class">org.hibernate.cache.NoCacheProvider</property>

  <!-- Echo all executed SQL to stdout -->
  <property name="show_sql">true</property>

  <!-- Drop and re-create the database schema on startup -->
  <!-- <property name="hbm2ddl.auto">update</property>-->



  <mapping resource="com/bjsxt/hibernate/model/students.hbm.xml"/>


  </session-factory>

</hibernate-configuration>

测试类:

Java code
import org.hibernate.Session;import org.hibernate.SessionFactory;import org.hibernate.cfg.Configuration;import com.bjsxt.hibernate.model.students;public class StudentsTest {    public static void main(String[] args) {        students s=new students();                s.setId(1);        s.setName("s1");        s.setAge(1);                Configuration cfg=new Configuration();        cfg=cfg.configure();        SessionFactory sf=cfg.buildSessionFactory();        Session session=sf.openSession();                session.beginTransaction();                session.save(s);        session.getTransaction().commit();        session.close();        sf.close();    }}


[解决办法]
如果连接url没有问题的话,那么应该是你的sqlserver驱动jar包有问题,建议换最新的,
另外说一句,如果数据库是sqlserver2005及以上版本,那么mssql2000的驱动有问题,需要使用第三方或最新的驱动。

热点排行