[英]JDBC/ODBC Data source name not found and no default driver specified
[英]MS ACCESS jdbc.odbc connection. data source name not found/No default driver specified?
我正在嘗試在學校學習基本的SQL測試,但不幸的是,我將本應使用的類復制到PC上的項目中,並且遇到以下錯誤:
java.sql.SQLException:[Microsoft] [ODBC驅動程序管理器]找不到數據源名稱,未指定默認驅動程序
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);
驅動因素是:
private static final String DRIVER = "jdbc:odbc:DRIVER=" +
"{Microsoft Access Driver (*.mdb)};" +
"DBQ=" + new File (DATABASE_FILE_NAME).getAbsolutePath ();
經過大約一個小時的研究,我仍然和以前一樣困惑。 如果有人能用嬰兒的語言解釋問題以及我如何解決這個問題,可以幫助這個nub程序員,那么我將不勝感激。
嘗試使用32位JVM。 嘗試從64位JVM連接時,出現相同的錯誤消息。
如果可行,請嘗試以下方法:
對於64位系統,請轉到:C:\\ windows \\ sysWOW64。 對於32位系統,轉到:C:\\ windows
有一個名為odbcad32.exe的可執行文件。
以管理員身份運行此exe文件,以訪問Microsoft Office等隨附的所有ODBC驅動程序。
創建名為my_data_source的數據源,並將連接字符串提及為:
連接con = DriverManager.getConnection(“ jdbc:odbc:my_data_source”);
以上解決方案在我的情況下有效。
請參考: 帶有MS Access的Java連接了解詳細信息。
嘗試使用DATABASE_FILE的完整路徑名或將其復制到源目錄中。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.