0

这是我的代码:

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 64bit 通过检查错误,我得到: java.sql.SQLException: [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified

从一些研究来看,这似乎是我的“数据源名称”的问题。我把我的数据库文件放在项目文件夹中,名字是正确的。为什么找不到它?

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

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

编辑:我试图安装它,但它没有任何区别。我的访问版本与我的 netbeans 版本一样是 64 位的。

4

1 回答 1

0

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

于 2013-04-13T07:42:00.520 回答