我正在使用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, "", "");
答案 0 :(得分:1)
您应该设置获取连接的DSN。见下面的步骤;
答案 1 :(得分:1)
将MDB文件放在计算机上的位置并不重要。重要的是Java需要JDBC,Java世界相当于ODBC。 (不完全相同,但你让我漂移)。但是MS Access不支持JDBC,只支持ODBC。 Sai说,你需要设置ODBC。 Sun很久以前创建了JDBC-ODBC桥作为桥梁,直到所有DB都创建了JDBC驱动程序(但不是每个人都像...那样)。它意味着很久以前就会消失,但它仍然存在,你需要使用它并进行配置。如果您使用google“jdbc odbc bridge”,有很多关于如何执行此操作的示例,但这里有一个指向此站点的链接:
但实际上,你最好还是这样看。有很多高品质的网站会告诉你。首先寻找关于Oracle的教程,然后是其他地方。远离印度玫瑰或其他所谓的。这是不该做的事情。
我建议不要使用MS Access。您是否有任何理由使用MS Access而不是熟悉?您可以更好地使用具有本机jdbc驱动程序的数据库。有许多高质量的数据库都有现成的JDBC驱动程序,这些驱动程序质量肯定比MS Access更好,更稳定。
如果你想要一些易于启动和开箱即用的东西,并且有免费的查询和数据库维护工具,请尝试使用MySQL。只需确保将其设置为使用“InnoDB”选项。这使它表现为'酸'兼容的数据库。
我的偏好是PostgreSQL,但如果您以前没有使用它,最初设置起来可能有点令人生畏,并且没有从核心团队构建的GUI工具(它有一些来自关联项目,但不在附近构建的数字由MySQL提供。它有一些配置需要完成以允许TCP / IP连接,以及一些关于如何允许用户连接的安全配置。 MySQL使新用户不那么痛苦。事实上,我认为它与MS Access一样易于使用。 (FWIW我使用Postgres,因为我认为数据库引擎质量更好,更大的项目有更强大的功能......比如开源Oracle)。
还有其他免费的,但如果您从MS Access迁移,可能很容易使用MySQL。