0

我正在 GlassFish 服务器上使用 NetBeans 开发 JSP 项目。该项目使用 MS Access 文件作为数据库。我需要将 MDB 文件放在哪里,以便 JSP 类可以在运行时找到它?

我的代码

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
location = loc.getAbsolutePath().substring(0, loc.getAbsolutePath().length() - 2);
String filename = location + "\\myDB.mdb";
System.out.print(filename);
String database;
database = "jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ=";
database += filename.trim() + ";DriverID=22;READONLY=true}";
c = (DBM) DriverManager.getConnection(database, "", "");
4

2 回答 2

1

您应该需要设置获得连接的 DSN。请参阅以下步骤;

  1. 如下打开 Windows 的 ODBC 数据源管理器:选择开始 > 设置 > 控制面板 > 管理工具 > 数据源。
  2. 在 ODBC 数据源管理器对话框中,单击系统 DSN 选项卡。
  3. 单击添加以将新的 DSN 添加到列表中。
  4. 向下滚动并选择 Microsoft Access (.MDB) 驱动程序。
  5. 输入数据源名称的名称“yourDataSourceName”(不加引号,但大小写相同)
  6. 单击 CREATE 并选择一个文件来保存数据库(我选择了“d:\java\test.mdb”)——这将创建一个新的空白 MS Access 数据库。
  7. 一直点击“确定”。
于 2012-08-14T03:37:34.750 回答
1

将 MDB 文件放在机器上的哪个位置并不重要。重要的部分是 Java 需要 JDBC,Java 世界相当于 ODBC。(不完全等同,但你让我漂移)。但是 MS Access 不支持 JDBC,只支持 ODBC。您需要按照 Sai 所说的设置 ODBC。Sun 很久以前创建了 JDBC-ODBC 桥作为桥,直到所有 DB 都创建了 JDBC 驱动程序(但不是每个人都这样做......像 Access)。它很久以前就打算消失了,但它仍然存在,您需要使用它并对其进行配置。如果你用谷歌搜索“jdbc odbc bridge”,有很多关于如何做到这一点的例子,但这里有一个指向这个网站的链接开始:

带有 ms-access 的 JDBC?

但实际上,你最好看看这个。有很多高质量的网站会向您展示。首先查找有关 Oracle 的教程,然后再查找其他地方。远离印度玫瑰或任何所谓的东西。这是如何不做的事情。

我建议不要使用 MS Access。除了熟悉之外,您还有什么理由使用 MS Access?最好使用具有本机 jdbc 驱动程序的数据库。有很多高质量的数据库都有现成的 JDBC 驱动程序,这些驱动程序肯定比 MS Access 质量更好、更稳定。

如果您想要开箱即用的易于启动和使用的东西,并且有免费的查询和数据库维护工具,请尝试 MySQL。只需确保将其设置为使用“InnoDB”选项。这使它表现为一个“酸”兼容的数据库。

我的首选是 PostgreSQL,但如果你以前没有使用过它,一开始设置它可能有点令人生畏,并且没有核心团队构建的 GUI 工具(它有一些来自关联项目,但远不及是由 MySQL 提供的)。它有一些需要完成的配置才能允许 TCP/IP 连接,以及一些关于如何允许用户连接的安全配置。MySQL 使新用户不那么痛苦。事实上,我认为它与 MS Access 一样易于使用。(FWIW 我使用 Postgres 是因为我认为 DB 引擎质量更好,功能更强大,适用于更大的项目……比如开源 Oracle)。

那里还有其他免费的,但如果您从 MS Access 迁移,MySQL 很可能是您可以轻松使用的。

于 2012-08-14T05:57:21.703 回答