您的位置:首页 > 编程语言 > Java开发

W7 32位,java Rmijdbc远程连接其他电脑上的access数据库

2017-11-09 11:48 471 查看
转载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


                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: