2017-04-20 3 views
2

J'utilise ce code pour établir une connexion avec le serveur Sql et j'obtiens cette erreur lorsque j'utilise Class.forName (driver) il se connecte correctement mais je préfère utiliser DataSourse.Connexion Java au serveur Sql avec erreur jtds

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

et je reçois ce

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

essayez de définir une requête de validation: 'dataSource.setValidationQuery ("SELECT 1")' – Berger

+1

Copie possible de [AbstractMethodError avec le pilote jDBC JDBC sur Tomcat 8] (http://stackoverflow.com/questions/41231750/abstractmethoderror-with-jtds-jdbc-driver-on-tomcat-8) – Berger

Répondre

2

Vous devez ajouter à votre validationQuery="select 1"dataSource

dataSource.setValidationQuery("select 1");