J'ai changé et utilisé le pilote sql server. J'ai importé le jar qu'il fallait sqljdbc.jar.
Je lance le programme et j'obtiens l'exception :
com.microsoft.sqlserver.jdbc.SQLServerException: Échec de la connexion TCP/IP à l'hôte . java.net.ConnectException: Connection refused: connect
at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError(Unknown Source)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectHelper(Unknown Source)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.loginWithoutFailover(Unknown Source)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connect(Unknown Source)
at com.microsoft.sqlserver.jdbc.SQLServerDriver.connect(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at Test.main(Test.java:41)
Une idée d'ou peut provenir le probleme ?
Le code modifié :
import java.sql.Connection;
import java.sql.Driver;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import com.microsoft.sqlserver.jdbc.SQLServerDriver;
public class Test{
public static void main(String[] args){
JFrame frame = new JFrame();
MyTableModel maTable = new MyTableModel();
JTable jTable = new JTable(maTable);
List<Object[]> donnees = new ArrayList<Object[]>();
//Parametre de connexion a la base de données
String url = "jdbc:sqlserver://localhost:1433;databaseName=MaTable";
String login = "root";
String password = "root";
Connection connection = null;
JScrollPane scroll = new JScrollPane(jTable);
frame.setSize(600,250);
frame.add(scroll);
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
try{
while(true){
maTable.vide();
Driver monDriver = new SQLServerDriver();
DriverManager.registerDriver(monDriver);
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
connection = DriverManager.getConnection(url,login,password);
Statement stmt = connection.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);
String sql = "SELECT * FROM MaTable";
ResultSet rs = stmt.executeQuery(sql);
ResultSetMetaData rsmd = rs.getMetaData();
int ncols = rsmd.getColumnCount();
//Remise du curseur à sa position initiale
rs.beforeFirst();
boolean suivant = rs.next();
while(suivant){
Object val [] = new Object[ncols];
for(int j=1; j<=ncols; j++)
val[j-1] = rs.getString(j);
donnees.add(val);
suivant = rs.next();
}
((MyTableModel)jTable.getModel()).remplie(donnees);
//Remise du curseur à sa position initiale
rs.beforeFirst();
try {
Thread.sleep(2000);
}catch(InterruptedException ie){
ie.printStackTrace();
}
}
}catch(SQLException se){
se.printStackTrace();
}catch(ClassNotFoundException cnfe){
cnfe.printStackTrace();
}
}
}
J'ai changé et utilisé le pilote sql server. J'ai importé le jar qu'il fallait sqljdbc.jar.
Je lance le programme et j'obtiens l'exception :
Une idée d'ou peut provenir le probleme ?
Le code modifié :