我用myeclipse编写了一个小java程序连接access,在myeclipse下运行正常,可是导出可执行jar文件后图形窗口之类的都正常,但是数据库查询不能实现。用fatjar插件导出也是一样的,请各位指教!!!!
附数据库连接代码:if (conn == null) {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");   
try{
String path = dbManager.class.getClassLoader().getResource("date\\db1.mdb").getPath().substring(1);   
path = java.net.URLDecoder.decode(path);   
// System.out.println(path);   
conn = DriverManager.getConnection("jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ=" + path, "", "");   
Java数据库

解决方案 »

  1.   

    看看依赖的jar有没有打进去。
      

  2.   

    Eclipse 打包成:Runnable JAR file。
      

  3.   

    在fatjar打包的时候。可以勾选需要打入的jar
      

  4.   


    用fatjar在选择文件那部,没有jar包怎么弄  教下
      

  5.   

    如果仅仅需要打包成jar的话使用Eclipse自带的就可以了
    Export ->
        Run jar->
       
      

  6.   


    还是一样  点查询  没有反应
    jar包里多了个org文件夹
      

  7.   

    我知道问题是数据库驱动没有打进去,现在问题是我不知道用的那个包。我在myeclipse中没有添加外部的jar,只有创建工程时自带的jre环境,请问怎么办????
      

  8.   

    那要看你的运行环境,因为在myeclipsejava访问access时候是windows系统,本身已经再带相应的驱动,如果linux等其他操作系统需要jar包,你可以在这里下载:http://download.csdn.net/download/ting_249609115/1442554
      

  9.   


    依照你的观点,导出的jar包不能访问数据库不是驱动程序的问题????
    那是什么原因????
      

  10.   

    问题补充:我用fatjar打包的过程如下
    1、程序目录结构2、打包过程
    我在网上查资料,都说是在这部选择外部jar文件。但我这也没有用用外部jar啊????
    3、jar包目录结构
      

  11.   

    刚才我把数据库文件路径改成绝对路径后就可以了 String url = "jdbc:odbc:Driver={MicroSoft Access Driver (*.mdb)};DBQ=C:\\date\\db1.mdb";   
            conn = DriverManager.getConnection(url, "", "");   难道是因为数据库文件不能用相对路径么???
      

  12.   

    你的文件都不在你的jar包里面,怎么能用相对路径呢