use*_*090 3 java sql-server jtds apache-commons-dbcp
我使用此代码与 Sql 服务器建立连接,当我使用 Class.forName(driver) 它正确连接时出现该错误,但我更喜欢使用 DataSourse。
static final BasicDataSource dataSource = new BasicDataSource();
static {
dataSource.setDriverClassName("net.sourceforge.jtds.jdbc.Driver");
dataSource.setUrl("jdbc:jtds:sqlserver://Mypc/Mydb;instance=SQLEXPRESS;");
dataSource.setUsername("");
dataSource.setPassword("");
}
public static void main(String[] args){
try{
dataSource.getConnection();
}
catch (SQLException ex){
System.out.println(ex);
}}
public static Connection getConnection() throws SQLException {
return dataSource.getConnection();
}
Run Code Online (Sandbox Code Playgroud)
我明白了
Exception in thread "main" java.lang.AbstractMethodError
at net.sourceforge.jtds.jdbc.JtdsConnection.isValid(JtdsConnection.java:2833)
at org.apache.commons.dbcp2.DelegatingConnection.isValid(DelegatingConnection.java:918)
at org.apache.commons.dbcp2.PoolableConnection.validate(PoolableConnection.java:283)
at org.apache.commons.dbcp2.PoolableConnectionFactory.validateConnection(PoolableConnectionFactory.java:357)
at org.apache.commons.dbcp2.BasicDataSource.validateConnectionFactory(BasicDataSource.java:2307)
at org.apache.commons.dbcp2.BasicDataSource.createPoolableConnectionFactory(BasicDataSource.java:2290)
at org.apache.commons.dbcp2.BasicDataSource.createDataSource(BasicDataSource.java:2039)
at org.apache.commons.dbcp2.BasicDataSource.getConnection(BasicDataSource.java:1533)
Run Code Online (Sandbox Code Playgroud)
你必须添加validationQuery="select 1"到你的dataSource
dataSource.setValidationQuery("select 1");
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3958 次 |
| 最近记录: |