与SQLSERVER2008连接 - Hibernate

时间:2013-08-06 19:46:12

标签: hibernate

我一直在尝试使用Hibernate在Eclipse中连接数据库。当我的数据库是Postgresql时,一切正常,我遇到了MicrosoftSQL2008的问题。

我的服务器名称是:。\ SQLEXPRESSR2, 登录:admin 密码:admin db:hibernatedb的名称 这里有我的hibernate代码:

<hibernate-configuration> 
    <session-factory> 
        <!-- Database connection settings -->  
    <property name="connection.driver_class">com.microsoft.sqlserver.jdbc.SQLServerDriver</property>
        <property name="connection.url">jdbc:sqlserver://.\SQLEXPRESSR2:1433/hibernatedb</property>
        <property name="connection.username">admin</property>
        <property name="connection.password">admin</property>

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

        <!-- SQL dialect - generate SQL for a particular database -->
        <property name="dialect">org.hibernate.dialect.SQLServerDialect</property>

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

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

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

        <!-- Names the annotated entity class-->
        <mapping class="org.szefu.Workers"/>        

    </session-factory>

 </hibernate-configuration>

我的TCP端口我更改为:1433(IP ALL)(在SQL Server配置管理器中默认为0)。

感谢您的任何想法

3 个答案:

答案 0 :(得分:0)

org.hibernate.dialect.SQLServer2008Dialect 请指定此方法作为您的方言并检查其他属性。我认为你为属性指定了错误的值。

同时检查驱动程序网址,因为我不知道你为什么使用这种奇怪的方式。

答案 1 :(得分:0)

尝试jdbc:sqlserver://{computername/address}\\SQLEXPRESSR2:1433;databaseName=hibernatedb

您仍在使用postgresql连接URL语法。
如果需要,请检查其他sqlserver连接URL属性(如integratedSecurity=true)。
如果您正在连接到远程计算机启用tcp-it,如描述here

答案 2 :(得分:0)

非常感谢!

更改hibernate方言的名称就足够了,我也更改了数据库语法:; databaseName = hibernatedb