私は学校で基本的なSQLのテストのために勉強しようとしているが、残念ながら、私たちは私のPC上のプロジェクトに使用することになっていると、私は次のエラーを取得していたクラスをコピー:MSアクセスjdbc.odbc接続。データソース名が見つかりません/デフォルトドライバが指定されていませんか?
java.sql.SQLException: [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified
package Question1;
// Your name, Q 1
import java.sql.*;
import java.io.*;
import javax.swing.*;
public class GreenWood
{
// Set up database connection
private static final String DATABASE_FILE_NAME = "WoodDB.mdb";
private static final String DRIVER = "jdbc:odbc:DRIVER=" +
"{Microsoft Access Driver (*.mdb)};" +
"DBQ=" + new File (DATABASE_FILE_NAME).getAbsolutePath();
static
{
try
{
Class.forName ("sun.jdbc.odbc.JdbcOdbcDriver");
}
catch (ClassNotFoundException e)
{
System.out.println ("Class not found");
e.printStackTrace();
}
}
private Connection dbcon;
private BufferedReader keyb = new BufferedReader (new InputStreamReader (System.in));
public GreenWood()
{
System.out.println ("WoodDB Connection");
try
{
dbcon = DriverManager.getConnection (DRIVER);
Statement stmt = dbcon.createStatement();
System.out.println ("Connection successful\n");
char choice = ' ';
do
{
//Prints options for user input
choice = keyb.readLine().toUpperCase().charAt (0);
System.out.println (" ");
switch (choice)
{
//calls query methods based on user input
}
}
while (choice != 'X');
dbcon.close();
System.out.println ("Done");
Thread.sleep (1000);
System.exit (0);
} // try
catch (Exception e)
{
// process exceptions here
System.out.println ("Connection unsuccessful");
e.printStackTrace();
System.out.println (e.toString());
}
} // HoutSoorte constructor
//Query Methods
//Main creates new instance of GreenWood
私のWoodDBデータベースは、ルートプロジェクトディレクトリにあります。
私はいくつかのトラブルシューティングを行いましたが、問題はドライバの場所のURLと思われます。
dbcon = DriverManager.getConnection (DRIVER);
DRIVERのビーイング:
private static final String DRIVER = "jdbc:odbc:DRIVER=" +
"{Microsoft Access Driver (*.mdb)};" +
"DBQ=" + new File (DATABASE_FILE_NAME).getAbsolutePath();
私はまだ私があったように同じように混乱している研究の程度時間後。 誰かがこのナブ・プログラマー(私)の問題をベビー・ワードで説明し、それをどのように修正できるかを助けることができれば、それはいつも感謝しています。
[タグ:宿題のタグを宿題に追加することを忘れないでください!私はそれが 'ms-access-2000'よりもずっと多くの信者を持っていると思います。 –
* "私は自分のPC上のプロジェクトに使用するクラスをコピーしました" * DBとDBドライバもコピーしましたか?通常、ドライバはJar内にあり、アプリケーションのランタイムクラスパスに追加する必要があります。 –
Andrewに返信してくれてありがとう。私は、JDBC/ODBCドライバはデフォルトでJDKに含まれていると信じています。 –