2017-04-20 4 views
2

Ich benutze diesen Code, um eine Verbindung mit Sql-Server und ich bekomme diesen Fehler , wenn ich Class.forName (Treiber) es richtig verbinden, aber ich verwende lieber DataSourse.Java-Verbindung zu Sql-Server mit JTDS-Fehler

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(); 
} 

und ich bekomme diese

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) 
+0

Versuchen Sie, eine Validierung Abfrage Einstellung: 'dataSource.setValidationQuery ("SELECT 1")' – Berger

+1

Mögliches Duplikat von [AbstractMethodError mit jTDS JDBC-Treiber auf Tomcat 8] (http://stackoverflow.com/questions/41231750/abstractmethoderror-with-jtds-jdbc-driver-on-tomcat-8) – Berger

Antwort

2

Sie müssen hinzufügen validationQuery="select 1" zu Ihrem dataSource

dataSource.setValidationQuery("select 1");