我一直在尝试使用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)。
感谢您的任何想法
答案 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