La connexion d'une Base de données Microsoft Access à Java à l'aide de JDBC et de la compilation

pour une école de la base de données du projet, nous réalisons un programme de base de données (user interface graphique et la base de données). À l'aide de Microsoft Access 2010, j'ai créé la base de données et remplie avec des exemples de données, et l'a sauvé .format mdb et l'a placé dans mon dossier de projet.

Lors de l'exécution dans eclipse, le code suivant fonctionne très bien, se connecte et même récupère la requête. Cependant, je trouve que je suis incapable d'exporter le code pour un pot et de l'exécuter (ce qui est requis pour le projet, de leur donner une copie de travail de votre programme sur un CD ou un lecteur flash), et je suis également incapable de port la code sur Netbeans pour qu'il fonctionne, ainsi que d'essayer de compiler sur une machine Linux.

Je suppose que c'est un problème avec y compris les pilotes, ou essayez d'utiliser Microsoft access. L'erreur que j'obtiens lorsque l'exécution du pot ou en cours d'exécution sur Netbeans est donnée ci-dessous le code. J'ai donc demander comment puis-je inclure des pilotes pour rendre le programme portable, ou sinon, comment puis-je aborder ce problème?

Merci d'avance

import java.sql.*;
public class JDBCTest {
static Connection connection;
static Statement statement;
public static void main(String args[]){
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver").newInstance();
String database = "jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ=TLDATABASEDBM.mdb";
connection = DriverManager.getConnection( database ,"",""); 
buildStatement();
executeQuery();
}catch(Exception e){
e.printStackTrace();
System.out.println("Error!");
}
}
public static void buildStatement() throws SQLException {
statement = connection.createStatement();
}
public static void executeQuery() throws SQLException {
boolean foundResults = statement.execute("SELECT * FROM tblStaff  AS x WHERE City='Calgary'");
if(foundResults){
ResultSet set = statement.getResultSet();
if(set!=null) displayResults(set);
}else {
connection.close();
}
}
public static void displayResults(ResultSet rs) throws SQLException {
ResultSetMetaData metaData = rs.getMetaData();
int columns=metaData.getColumnCount();
String text="";
while(rs.next()){
for(int i=1;i<=columns;++i) {
text+=""+metaData.getColumnName(i)+":\t";
text+=rs.getString(i);
//text+="</"+metaData.getColumnName(i)+">";
text+="\n";
}
text+="\n";
}
System.out.println(text);
}
}

L'erreur mentionnée ci-dessus:

java.sql.SQLException: [Microsoft][Gestionnaire de pilotes ODBC] source de Données non trouvée et nom de pilote non spécifié 
au coucher du soleil.jdbc.odbc.JdbcOdbc.createSQLException(JdbcOdbc.java:6957) 
au coucher du soleil.jdbc.odbc.JdbcOdbc.standardError(JdbcOdbc.java:7114) 
au coucher du soleil.jdbc.odbc.JdbcOdbc.SQLDriverConnect(JdbcOdbc.java:3073) 
au coucher du soleil.jdbc.odbc.JdbcOdbcConnection.initialiser(JdbcOdbcConnection.java:323) 
au coucher du soleil.jdbc.odbc.JdbcOdbcDriver.connect(JdbcOdbcDriver.java:174) 
à java.sql.DriverManager.getConnection(DriverManager.java:582) 
à java.sql.DriverManager.getConnection(DriverManager.java:207) 
au tldatabase.DataConnect.makeConnection(DataConnect.java:35) 
au tldatabase.Principal.principale(Main.java:24) 

OriginalL'auteur Moogle | 2010-12-01