Ajouter un commentaire

maxlegrand

Quote:
Ben les pilotes de bases de données sont un jar comme les autres à priori.
C'est quelle base de données au fait ? La connexion est elle seulement autorisée ?

Je remets le code qui m'a permis de me connecter à la base de donnée sql server.
Pour effectuer la connection, je n'ai pas eu besoin d'importer un fichier jar dans Eclipse.
Voici le code pour la connection:
MyTableModel contient les méthodes pour remplir, vider la table
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:odbc: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 JdbcOdbcDriver();
				DriverManager.registerDriver(monDriver);
				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();
		}
	}

Comme je n'ai pas utilisé de jar, je ne sais pas trop du quel tu parles.
J'ai essayé en mettant le jar sqljdbc.jar que j'ai téléchargé ici :
http://www.microsoft.com/downloads/thankyou.aspx?familyId=f914793a-6fb4-475f-9537-b8fcb776befd&displayLang=en
Mais ça ne donne rien. J'ai aussi essayé en mettant le jar rt.jar dans mon fichier jnlp mais rien également.

Je ne sais plus trop quoi tester.
La base de donnée est sql server 2005

Filtered HTML

Plain text

CAPTCHA
Cette question permet de vérifier que vous n'êtes pas un robot spammeur :-)
 V     V   CCC   SSS    SSS   X   X 
V V C S S X X
V V C SSS SSS X
V V C S S X X
V CCC SSSS SSSS X X