Java将无法连接到我的数据库

时间:2013-04-13 06:39:38

标签: java sql ms-access jdbc

这是我的代码:

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,Windows 7 64位 通过检查错误,我得到:java.sql.SQLException:[Microsoft] [ODBC驱动程序管理器]找不到数据源名称,并且没有指定默认驱动程序

从一点点研究来看,这似乎与我的'数据源名称'有关。我把我的数据库文件放在项目文件夹中,名称是正确的。为什么找不到它?

编辑:不,两台计算机上的数据库都是相同的。在同一个文件夹中。

编辑:我想我可能需要创建一个系统dsm。按照互联网上的说明剂量工作,因为我没有与他们相同的文件..

编辑:我已经尝试安装,但它没有什么区别。我的访问版本与我的netbeans版本一样是64位。

1 个答案:

答案 0 :(得分:0)

尝试安装同一个archeticture(即32位)运行的数据库引擎+ JVM,否则,您将收到不匹配异常。我假设你的JVM是64位但你的数据库引擎不是,所以尝试从以下链接安装64位引擎: http://www.microsoft.com/en-us/download/details.aspx?id=13255