【发布时间】:2014-12-11 19:30:51
【问题描述】:
我有一个使用 SQL Server 2008 R2 的 Java Hibernate 项目配置,现在使用新的 OS 8.1(从 7 开始)和 SQL Server 2012(express),我无法连接到 SQL Server。
相关配置是/应该是syntactically correct,因为它适用于 2008 R2:
datasource.properties
jdbc.driverClassName=net.sourceforge.jtds.jdbc.Driver
jdbc.url=jdbc:jtds:sqlserver://localhost:1433/dbname;instance=SQLEXPRESS
jdbc.username=auser
jdbc.password=xyz
我尝试了两种方言org.hibernate.dialect.SQLServerDialect 在 2008 R2 中工作。
hibernate.hbm2ddl.auto=create-drop
hibernate.dialect=org.hibernate.dialect.SQLServerDialect
#hibernate.dialect=org.hibernate.dialect.SQLServer2012Dialect
hibernate.show_sql=true
springConfiguration.xml
<bean id="dataSource" class="org.apache.tomcat.dbcp.dbcp2.BasicDataSource">
<property name="driverClassName" value="${jdbc.driverClassName}" />
<property name="url" value="${jdbc.url}" />
<property name="username" value="${jdbc.username}" />
<property name="password" value="${jdbc.password}" />
</bean>
SQL Server 2012 安装了混合模式身份验证,并且 SQL Server Management Studio 连接没有问题(有或没有实例名称)。
我已将SQL Server Network Configuration 更新为SQLEXPRESS。
SQLEXPRESS 协议:
TCP/IP Enabled
以及所有 TCP/IP Properties - TCP Port 到 1433。
我尝试禁用 Windows 防火墙只是为了测试它是否存在问题,但它会导致相同的错误。
我最终添加了防火墙规则并遵循了这个出色的 configure SQL Express 2012 to accept remote connections article 中的一些步骤。
错误信息:
Caused by: java.lang.AbstractMethodError
at net.sourceforge.jtds.jdbc.JtdsConnection.isValid(JtdsConnection.java:2833)
【问题讨论】:
标签: java sql-server hibernate sql-server-2012 jtds