java连接access数据库

package dao;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.net.URISyntaxException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Properties;

public class DBConn {
	static String url;
	// 配置文件 
	public static final String ACTIONPATH = "system.properties";  
	// 属性文件   
	public static Properties prop;  
	
	static {		
		// 获取当前类加载的根目录,如:/C:/Program Files/Apache/Tomcat 6.0/webapps/fee/WEB-INF/classes/  
		String path;
		try {
			path = DataAccess.class.getClassLoader().getResource("").toURI().getPath();
			FileInputStream fis = new FileInputStream(new File(path + ACTIONPATH));     
			// 把文件读入文件输入流 
			prop = new Properties();  
			//加载文件流  
			prop.load(fis);
       //读取数据库地址
			String dbpath = prop.getProperty("dbPath");

			//以下2种url任选其一。如果选择配置数据源,则上面代码读取配置文件,读取数据库地址就不需要了。这里我是为了方便所有写成了配置文件。
			url = "jdbc:odbc:Driver={Microsoft Access Driver (*.mdb, *.accdb)};DBQ=" + dbpath;  //不用配置数据源,但是要加一个驱动。我用的是Access_JDBC30.jar,直接搜索下载就可以了
//			url = "jdbc:odbc:mydb";	//需要配置数据源:控制面板->管理工具->数据源(ODBC)->系统DNS,添加一个数据源。名称与程序里的名字对应,这里是mydb。数据库选择相应的access文件。
			System.out.println(url);
		} catch (URISyntaxException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (FileNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}    
		
		if(url == null){
			System.out.println("数据库地址无法加载");
		}
	}

	public Connection getConnection() {
		Connection conn = null;
		try {
			Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
		} catch (ClassNotFoundException e) {
			e.printStackTrace();
		}
		try {
			conn = DriverManager.getConnection(url);
		} catch (SQLException e) {
			System.out.println("数据库连接失败");
			e.printStackTrace();
		}
		return conn;
	}
}

  

posted @ 2014-06-03 17:00  yuhuhu  阅读(385)  评论(0编辑  收藏  举报