java程序连接access数据库,路径问题?

问题描述

下面是连接Access的代码import java.sql.*;public class Test{ public static void main(String args[]) { Connection con; Statement stmt; ResultSet rs; try { Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); } catch(ClassNotFoundException e) { System.out.println(""+e); } try { con=DriverManager.getConnection("jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ=D:123data.mdb","",""); stmt=con.createStatement(); rs=stmt.executeQuery("select * from info"); while(rs.next()) { String title=rs.getString(2); System.out.print(" title:"+title+"t"); } con.close(); } catch(SQLException e) {System.out.println(e);} } } 我想把它改成相对路径,即DBQ中不用绝对路径。让当前程序能找到data.mdb,那么这个语句该怎么写。帮忙修改一下连data.mdb的语句,谢谢! 问题补充:jcyanfan 写道

解决方案

给楼主一个完整的例子吧:假设abc.mdb放到data子目录下边:package mytest.db.access;import java.sql.*;public class TestAccess{ public static void main(String args[]) { Connection con; Statement stmt; ResultSet rs; try { Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); } catch (ClassNotFoundException e) { System.out.println("" + e); } try { String path = TestAccess.class.getClassLoader().getResource("data\abc.mdb").getPath() .substring(1); path = java.net.URLDecoder.decode(path); System.out.println(path); con = DriverManager.getConnection( "jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ=" + path, "", ""); stmt = con.createStatement(); rs = stmt.executeQuery("select 1"); while (rs.next()) { String title = rs.getString(1); System.out.print(" title:" + title + "t"); } con.close(); } catch (SQLException e) { System.out.println(e); } }}
解决方案二:
String path = this.getClass().getClassLoader().getResource("123data.mdb").getPath().substring(1);con=DriverManager.getConnection("jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ="+path,"","");

时间: 2024-09-10 21:02:03

java程序连接access数据库,路径问题?的相关文章

单独的java程序连接oracle数据库实例

 /** * 单独的java程序连接oracle数据库 * author:JavaAlpha * date :2012-12-3 12:02:44 */ import java.sql.*; public class Test { public static void main(String[] args){ String driver = "oracle.jdbc.driver.OracleDriver"; String url = "jdbc:oracle:thin:@1

java连接数据库-java连接access数据库

问题描述 java连接access数据库 为什么提示Class.forName(sun.jdbc.odbc.JdbcOdbcDriver);这条语句"未出现的异常类型"啊,我是照书上写的啊 解决方案 ACCESS数据库虽然在功能和性能上无法和MYSQL.ORACLE等专业数据库相比,但由于安装方便.使用便捷,在JAVA数据学习时可作为临时数据库使用.JAVA连接ACCESS数据库非常便捷,一种方式是使用JDBC for ACCESS的专门驱动,在java官网或office官网都有下载,

显示-vb 连接access数据库路径问题

问题描述 vb 连接access数据库路径问题 '==================通过复制新建了个access数据库其中text.text放着CommonDialog1.FileName Private Sub new_Click() On Error GoTo Cancel Dim FileName As String Dim FileSystemObject As Object CommonDialog1.Filter = "microsoft access 数据库(*.mdb)|*.m

单独java 程序连接Mysql数据库

编辑器加载中...步骤: 1.下载安装mysql 2.下载mysql驱动的jar包,我的版本为:mysql-connector-java-5.1.10-bin.jar  3.讲上面的jar包文件复制到jdk安装目录,D:\Program Files\Java\jdk1.6.0_23\jre\lib\ext 下面,我的安装目录是D盘,其他盘类似.  4.修改环境变量classpath,添加下面的内容: ;D:\Program Files\Java\jdk1.6.0_23\jre\lib\ext\m

java 连接 access数据库问题

问题描述 java 连接 access数据库问题 方法如下: public List> queryProject(String path) throws SQLException { //加载驱动 try { Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); } catch (ClassNotFoundException e) { e.printStackTrace(); return null; } String dbUrl = &q

怎么用JAVA实现Access数据库的备份和恢复?

问题描述 怎么用JAVA实现Access数据库的备份和恢复?谢谢 解决方案 解决方案二:最简单,整个文件拷贝走,恢复时就整个文件拷贝回来.(要先暂停访问mdb)

Java 连接Access数据库的两种方式_java

java连接MS Access的两种方式: 1.JDBC-ODBC Java连接Access可以使用MS自带的管理工具-->数据源(ODBC)设置建立连接,这样就不需要导入jar.但是,如此一来程序部署的每个机器上都要进行设置不方面.所以现在不会使用啦. 2.JDBC java也可以和连接其他数据库一样连接MS Access,导入数据库相应的jar包,进行连接. 复制代码 代码如下: java Access JDBC jar包:Access_JDBC30.jar 具体连接,参考下面代码: 复制代

access数据库路径问题

问题描述 我在做一个C#的作业,使用了access数据库,数据库连接采用的做法是这样的:选择工具--连接数据库,选择数据库之后测试连接成功之后将数据库连接字符串复制到程序中,这样改变了数据库的位置就需要修改程序,如果使用相对路径是不是可以解决问题,如果可以程序应该怎么写啊? 解决方案 解决方案二:如果是winformstringpath=string.Format("{0}\{1}",Application.StartupPath,"db.mdb");需要在项目中设

ASP.NET 链接 Access 数据库路径问题最终解决方案_实用技巧

当做小项目用 ASP.NET + Access 数据库时,总是遇到数据库路径问题,本人以前的解决方法是每次访问数据库时,把链接字符串以参数的形式传到数据访问层,实施起来相当麻烦,这次找到了一个比较好的方案,这是本人目前的最终解决方案(如题)  ^_^ 解决方案为: 在 Web.Config 中配置 Access 数据库驱动和数据库文件名称. 请看代码 <appSettings>     <add key="DBDriver" value="Provider=