java 使用odbc远程连接access数据库
连接前准备 服务器A 和自己的电脑B
在服务器里需安装access数据源,在此之前需要先安装好access数据库驱动,有Microsoft office软件的直接根据下载软件的操作系统去下载。例:服务器A是64位操作系统但是却安装了32位的office软件,此时就需要安装32位的驱动了。附上驱动下载地址链接:https://pan.baidu.com/s/15t7JzFdTsQyfGLXbEYotgg
提取码:i2z9
驱动安装完毕后,根据安装的驱动来选择打开的数据源,64位直接在开始里搜索odbc然后双击打开即可,32位驱动需在计算机→C盘→Windows→SysWOW64这个文件夹里搜索odbcad 然后双击.exe文件进行数据源添加
然后选择有*.mdb和*.accdb的access数据源点击确定
然后就会弹出添加数据源名称说明等,在这里要说明,你现在写的数据源名称是你等会代码里写的数据源名称。然后点击下方的选择,配置好access数据库
然后点击确定,到这里。数据源就配置好了,接下来是配置RmiJdbc服务
首先下去下载RmiJdbc.jar包 附连接链接:https://pan.baidu.com/s/1nK9QG_zUXOdPI7BxJVR-_A
提取码:ez5e
然后在服务器B中配置环境变量CLassPath=%CLASSPATH%;D://RmiJdbc//dist//lib//RmiJdbc.jar 这里是你解压后将RmiJdbc存放的地址。 特别注意的是,在配置RmiJdbc服务时,需要先安装jdk
然后在服务器B中用win+r快捷键输入cmd 然后输入 java org.objectweb.rmijdbc.RJJdbcServer
此时就服务器的配置已经完成。
注:有些时候这个好像不能使用,可以试下java -jar E:\develop\RmiJdbc\dist\lib\RmiJdbc.jar这个命令。
然后就开始写代码。
附上代码
public NewUserData getUserInfo(String uid) throws ClassNotFoundException, IllegalAccessException, InstantiationException, SQLException { Connection con = null; ResultSet rs = null; NewUserData newUserData = null; Class.forName("org.objectweb.rmijdbc.Driver").newInstance(); con = DriverManager.getConnection(url); // st = con.createStatement(); String sql = "select n.*,d.birthday,d.address,d.fullname,d.phone,d.nation,d.sex from NewUserData n" + " left join device_user d on n.Uid = d.Uid" + " where n.UId = ? "; PreparedStatement ppst = con.prepareStatement(sql); ppst.setString(1, uid); rs = ppst.executeQuery(); // rs = st.executeQuery(sql); if (rs != null) { while (rs.next()) { newUserData = new NewUserData(); newUserData.setBirthday(rs.getString("birthday")); newUserData.setName(rs.getString("fullname")); newUserData.setSex(rs.getString("sex")); } } ppst.close(); con.close(); return newUserData; }
到此呢数据获取就完成了。
特别需要注意的时,RmiJdbc.jar必须引入到项目中去。不然会报错,提示找不到驱动类。