转载http://blog.csdn.net/hongdi/article/details/5482470
在此之前没接触过access,项目需要,特来学习,有不足的请多多指教
例如A电脑要连接B电脑上的access数据库,B电脑上要装有java环境,调试好。access数据库后缀为mdb。
其次要在B电脑上设置odbc,odbc在控制面板中,系统和安全,管理工具,数据源(ODBC) ,打开面板后选择系统DSN,点击添加
选择这个类型的驱动程序,点击完成
点击
数据源名在A电脑上编写URL的时候用到,点击选择,选择B电脑上的数据库。
从http://forge.ow2.org/project/showfiles.php?group_id=8&release_id=623下载RmiJdbc.jar包。
配置系统环境变量。右键”计算机”——“高级”——“环境变量”,在“系统变量”中,新建变量名为CLASSPATH的系统变量,被配置其值。
CLASSPATH=%CLASSPATH%; E:/RmiJdbc/dist/lib/RmiJdbc.jar;
注意:E:/RmiJdbc/dist/lib/RmiJdbc.jar为Rmijdbc.jar放置的目录
与java设置环境变量类似。
使用”win”+r组合键,输入”cmd”,调出命令提示行对话框,输入:
java org.objectweb.rmijdbc.RJJdbcServer
运行结果如下:
注意:RmiJdbc服务启动后不能关闭,即不能关闭上图所示对话框。否则将提示:java.rmi.ConnectException: Connection refused to host错误。
package access; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; public class AccessUtil { public Connection conn=null; /** * 远程连接access * @return * @throws Exception */ public Statement getStatement() throws Exception{ Class.forName("org.objectweb.rmijdbc.Driver").newInstance(); String url = "jdbc:rmi://192.168.111.111/jdbc:odbc:test_db"; //中间的是B电脑的ip地址,最后的test_db是B电脑odbc的数据源名 System.out.println("准备连接数据库"); conn = DriverManager.getConnection(url); System.out.println("数据库连接成功"); return conn.createStatement(); } /** * 查询数据库 * @param stmt * @param query * @return * @throws Exception */ public ResultSet executeQuery(Statement stmt,String query) throws Exception{ ResultSet rs=stmt.executeQuery(query); return rs; } /** * 更新数据库 * @param stmt * @param query * @throws SQLException */ public void executeUpdate(Statement stmt,String query) throws SQLException{ stmt.executeUpdate(query); } /** * 关闭链接 * @throws SQLException */ public void close() throws SQLException{ if(conn!=null) conn.close(); } public static void main(String args[]) throws Exception { AccessUtil db=new AccessUtil(); String query="select * from tbl_msg"; // Statement stmt=db.getStatement(); Statement stmt=db.getStatement();//获取到statement后你就可以为所欲为了
ResultSet rs=db.executeQuery(stmt, query); while(rs.next()){ System.out.println(rs.getString(1)+" "+rs.getString(2)+" "+rs.getString(3)) ; } rs.close(); stmt.close(); } }//如果access数据库是加密的话,请先将数据库解密,即取消密码。百度上专门讲如何破解密码和加密,这里就不再复述了。
//在Eclipse中运行这段java代码,就可以了。
//如果有不懂的可以QQ我,1323397207