這裏是我的代碼:Java將無法連接到我的數據庫
import java.sql.*;
public class DBConnector {
private static Connection conn;
public static void connectToDB()
{
//load the driver
try
{
Class.forName ("sun.jdbc.odbc.JdbcOdbcDriver");
System.out.println ("Driver successfully loaded");
}
catch (ClassNotFoundException c)
{
System.out.println ("Unable to load database driver");
}
//connect to the database
try
{
String filename = "TopYouTubeVideos.mdb";
String database = "jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ=";
database += filename.trim() + ";DriverID=22;READONLY=true}";
conn = DriverManager.getConnection (database, "", "");
System.out.println ("Connection database successfully established");
}
catch (Exception e)
{
System.out.println ("Unable to connect to the database");
}
}
輸出是:
驅動程序加載成功
無法連接到數據庫
這工作在與我的不同的計算機上,通過完全相同的代碼連接到數據庫...有沒有人有任何想法爲什麼?
感謝提前:)
編輯:我運行Access 2007年,64位Windows 7 通過檢查錯誤,我得到:值java.sql.SQLException:[微軟] [ODBC驅動程序管理器]數據源名稱未找到,沒有指定默認驅動程序
從一點研究看來,這是我的'數據源名稱'的問題。我把我的數據庫文件放在項目文件夾中,名稱是正確的。爲什麼沒有找到它?
編輯:不,數據庫是兩臺計算機上相同。在同一個文件夾中。
編輯:我想我可能需要創建一個系統dsm。按照互聯網dosent工作說明雖然,因爲我沒有相同的文件,因爲他們..
編輯:我試過安裝,但它並沒有改變。我的版本訪問是64位與我的NetBeans版本一起。
是計算機操作系統,你得到了失敗的Windows? –
您必須打印異常堆棧跟蹤而不是僅僅打印文本消息,請嘗試'e.printStackTrace()'以查看正在發生的事情...... – home
您是否在兩臺計算機上使用不同的數據庫系統? DriverManager.getConnection()的字符串並不總是與數據庫系統相同。 –