我有一个可与SQL Server 2008 R2一起使用的Java Hibernate项目配置,现在具有新的OS 8.1(来自7)和SQL Server2012(快速),我无法连接到SQL Server。
自从语法上与2008R2一起使用以来,在语法上正确的相关配置:
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防火墙只是为了测试它是否在起作用,但是会导致相同的错误。
我最终添加了防火墙规则,并按照这篇出色的配置SQL Express
2012接受远程连接文章中的
一些步骤进行操作。
错误信息:
Caused by: java.lang.AbstractMethodError
at net.sourceforge.jtds.jdbc.JtdsConnection.isValid(JtdsConnection.java:2833)
您的问题是jTDS默认不支持DBCP2验证连接的方式(我假设您使用的DBCP2 <bean id="dataSource" class="org.apache.tomcat.dbcp.dbcp2.BasicDataSource">
)。请参阅下面的解决方案。
通常,错误堆栈跟踪如下所示:
Caused by: java.lang.AbstractMethodError
at net.sourceforge.jtds.jdbc.JtdsConnection.isValid(JtdsConnection.java:2833)
at org.apache.tomcat.dbcp.dbcp2.DelegatingConnection.isValid(DelegatingConnection.java:913)
但是,问题与SQL Server版本无关,而与所使用的DBCP(Tomcat)版本(或项目部署到的Tomcat服务器版本)有关。
使用jTDS 1.3.1之后,该项目在Tomcat7下运行良好(并也连接到SQLServer 2012)。当我更改为Tomcat 8时,出现了该错误。
正如jTDS论坛所暗示的,原因是:
java.sql.Connection.isValid(int)
以验证连接.isValid()
,因此jTDS驱动程序无法与DBCP 2一起使用,除非…validationQuery
参数,否则该参数将使DBCP不会调用.isValid()
以测试连接的有效性。因此,解决方法是 设置validationQuery
参数,这将使DBCP2不被调用.isValid()
以测试连接的有效性。就是这样:
validationQuery="select 1"
将您的Tomcat <Resource>
标签添加到连接池中,该标签通常位于META- INF/context.xml
您的应用程序中或conf/server.xml
:
<Resource ... validationQuery="select 1" />
通过Spring使用DBCP2时,解决方案是:
<bean id="..." ...>
...
<property name="validationQuery" value="select 1" />
</bean>
dataSource.setValidationQuery("select 1");
问题内容: 我正在使用Mac OS X并尝试设置pycallgraph。 香港专业教育学院安装pycallgraph与pip和graphviz与自制。 一切都可以从Shell进行。但不是来自pycharm。 此处: -> virtualenv目录 ->项目目录 它要我做什么? 问题答案: 答案是: 在菜单栏中: -> -> 在对话框中: 对于所选文件或对于默认值/ Python: 环境字段组: >
问题内容: 我正在尝试使用OkHttp,但是它一直崩溃。有人可以快速浏览一下,看看是否知道发生了什么事。谢谢。 日志猫: 这是我尝试使用的代码示例。它来自在线教程(teamtreehouse.com)Java代码: 问题答案: OkHttp需要Okio,OkHttp可以使用Okio来实现快速I / O和可调整大小的缓冲区。您可以在此处下载Okio(最新的JAR)。 要么 Android gradl
因此,我在一个控制器中有一个非常简单的代码片段,在这个代码片段中,我使用从外部文件中获取数据,它工作得很好!但是当我使用时,我会在控制台中得到一个
我注意到我的机器人没有设置RichPresence,就像我今天看它一样。我最后一次检查它是在星期三,代码也在那里工作。所以我今天再次执行它,并且RichPresence没有像往常一样重新设置。现在我认为不和谐会改变它的界面。 现在,我在我的项目中使用了最新的JDA版本,并对代码进行了修改,使数据对象成为JSONObject,但它仍然无法工作。作为第二个,我试图使我的“Spielst”对象成为Ric
根据它的Javadoc,将生成,其中的第一个值是subscribe和第一个next信号之间的经过时间。 以下测试不起作用 它将抛出异常: 我原以为经过的时间至少是1000ms,但结果只有11ms。
我使用下面的JPQL结构和SOUNDEX表达式来执行语音拼写匹配。 但是在createQuery过程中,它给了我以下错误…如果我在这里做错了什么事,请让我知道。如果我用鞋面代替音响,它工作得很好。另外,我在数据库上运行了查询,结果是正常获取的。 SystemErr R optimum.clinicals.waf.GeneralFailureException:org.apache.openjpa.