Navins' NoteBook Information, Code, Programming, Java/C/C++/C# …

Java无数据源连接Access解决方案,获取mdb相对路径

Posted on September 9, 2011
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
package mytest;


import java.sql.*;

import java.io.*;

import java.net.*;


public class AccessDBConn {

    private Connection conn = null;

    private File file = null;

    private URL url = null; //之所以要用URL是因为可以通过file.toURI()得到含有空格的地址。


    public Connection AccessDBConn() {

   String driver="sun.jdbc.odbc.JdbcOdbcDriver";

   

    //获得数据库的真实路径

    String dburl = String.valueOf(Thread.currentThread().getContextClassLoader().getResource(""));

    dburl = dburl + "../../family.mdb";//得到文件的URL: 'file:/C:\...'

       

    try{

        url=new URL(dburl);

        file=new File(url.toURI()); //用toURI()就解决空格问题。

}catch(Exception e){}

    dburl = file.toString();    //绝对路径

     

    String accessUrl="jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ="+dburl;

    try{

        Class.forName(driver);

        conn = DriverManager.getConnection(accessUrl);

    }catch(Exception e){

        e.printStackTrace();}

    return conn;

    }


    public static void main (String[] args) {

       AccessDBConn dbc= new AccessDBConn();

       dbc.AccessDBConn();

    }

}
Filed under: Labrary Leave a comment
Comments (0) Trackbacks (0)

No comments yet.


Leave a comment

(required)

No trackbacks yet.