0

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

我的服务器名称是:.\SQLEXPRESSR2,​​登录名:admin 密码:db 的管理员名称:hibernatedb,这里是我的休眠代码:

<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)。

感谢您的任何想法

4

3 回答 3

0

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

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

于 2013-08-06T20:06:35.520 回答
0

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

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

于 2013-08-06T20:22:46.867 回答
0

非常感谢!

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

于 2013-08-07T09:30:04.070 回答