通过Hibernate连接到MS SQL Server 2005

时间:2010-06-04 22:20:43

标签: sql-server-2005 hibernate jdbc

我有JRE 1.6并使用以下hibernate.cfg.xml文件。我总是得到“无法打开连接”和“端口号1433 / DB无效。”

<hibernate-configuration>
  <session-factory>
    <property name="hibernate.connection.driver_class">com.microsoft.sqlserver.jdbc.SQLServerDriver</property>
    <property name="hibernate.connection.url">jdbc:sqlserver://IP/DB</property>
    <property name="hibernate.connection.username"></property>
    <property name="hibernate.connection.password"></property>
    <property name="hibernate.connection.pool_size">10</property>
    <property name="show_sql">true</property>
    <property name="dialect">org.hibernate.dialect.SQLServerDialect</property>
    <property name="hibernate.hbm2ddl.auto">update</property>
  </session-factory>
</hibernate-configuration>

2 个答案:

答案 0 :(得分:1)

来自官方文件:

  

Building the Connection URL

     

连接URL的一般形式是

jdbc:sqlserver://[serverName[\instanceName][:portNumber]][;property=value[;property=value]]
     

其中:

     
      
  • jdbc:sqlserver://(必需)被称为子协议并且是常量。
  •   
  • serverName(可选)是要连接的服务器的地址。这可以是DNS或IP地址,也可以是本地计算机的localhost或127.0.0.1。如果未在连接URL中指定,则必须在属性集合中指定服务器名称。
  •   
  • instanceName(可选)是要连接到serverName的实例。如果未指定,则建立与默认实例的连接。
  •   
  • portNumber(可选)是连接到serverName的端口。默认值为1433.如果使用默认值,则不必在URL中指定端口,也不必指定其前面的“:”。
  •   
  • property(可选)是一个或多个选项连接属性。有关更多信息,请参阅Setting the Connection Properties。可以指定列表中的任何属性。属性只能使用分号(';')分隔,并且不能重复。
  •   

请改用以下内容:

jdbc:sqlserver://IP;databaseName=DB

答案 1 :(得分:0)

您正在连接到主机/实例。它应该是一个反斜杠:host \ instance。您是在混淆实例和数据库的概念吗?

主机\实例;的databaseName = DB