java远程连接access数据库
本文转载自http://www.voidcn.com/article/p-tlrtkqlp-k.html
1 rmijdbc远程连接access数据库
正常情况下,常用的数据库sql server, oracle,mysql等(曾经有同学居然说除了sql server和oracle就没有DBMS了。。。天。。。),做为一个服务在服务器上跑,java需要远程连接的时候使用jdbc非常方便。可是有的时候,也就是在一些非常特殊的情况下,使用sql server, oracle等数据库有点大炮打蚊子的感觉,这时候从问题规模上说,使用access是比较合理的,但是有需要远程访问这么办。
如果使用vc等工具,这也不是难题,使用ado不是很困难,但是使用java怎么办。。。
有人说是用odbc数据源,是的,但是odbc数据源怎么远程访问(使用java),网上有人这样写
jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ=//192.168.0.1/目录/db.mdb";
简直是胡说八道,如果没有使用特别的手段(比如服务器路径映射等等。。我没有试过,反正直接这样写实不行的,这个我试过)。
那么有什么办法能够远程连接access数据库呢,使用rmijdbc( http://rmijdbc.objectweb.org)
1 首先下载rmijdbc.jar, 加入系统环境变量,
- Unix example (bash style):
export
CLASSPATH=$CLASSPATH:/usr/local/RmiJdbc/dist/lib/RmiJdbc.jar - Windows
example:
set
CLASSPATH=%CLASSPATH%;D:\RmiJdbc\dist\lib\RmiJdbc.jar
2 接着,运行 java org.objectweb.rmijdbc.RJJdbcServer(这一步很重要,是启动rmijdbc服务,否则连接的时候报Connection refuse异常)。
在64位的jdk环境下安装报错了
剩下的当然就是怎么连接了。
第一步:在服务器上建一个odbc数据源,指向一个.mdb文件
第二步:客户端连接代码
Class.forName("org.objectweb.rmijdbc.Driver").newInstance();
String url = "jdbc:rmi://192.168.0.201/jdbc:odbc:english";
明白了吧,很简单。
这样,当规模不大的时候,我们就不需要安装Sql server 这些比较重量级的家伙了,采用access轻便又实用。
2 java 使用 ucanaccess 连接Access数据库
package com.xu.access;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
//首先需要添加 ucanaccess 的jar包
//ucanaccess下载–>(http://download.csdn.net/detail/qq_34814092/9852513)
//ucanaccess官网–>(https://sourceforge.net/projects/ucanaccess/)
//然后引入 ucanaccess 的 jar 包
//可以只引入核心 ucanaccess 的 jar 包,建议全部引入
public class Access {
public static void main(String[] args) throws Exception {
//———————————————————————————————
Class.forName(“net.ucanaccess.jdbc.UcanaccessDriver”);//这个驱动的地址不要改
Connection con=DriverManager.getConnection(“jdbc:ucanaccess://G:\Access\bookmng.mdb”,”“,”“);
//DriverManager.getConnection(“jdbc:ucanaccess://G:\Access\bookmng.mdb”,”“,”“);
//只依据自己的实际情况更改 G:\Access\bookmng.mdb 即你的Access文件(如text.mdb) 的绝对路径或相对路径
//后面的两个参数可以不用填写
//除了上面的两步下面的操作和 MySQL Oracle 的基本一样
Statement stmt=con.createStatement();
//———————————————————————————————
//查找数据
ResultSet rs=stmt.executeQuery(“select * from test”);
while(rs.next()){
System.out.println(rs.getString(“name”));
}
java远程连接access数据库的更多相关文章
- 实现远程连接ACCESS数据库的方法
使用了TCP/IP,ADO及(需要安装Microsoft 4.0.).分服务器和客户端两部分,可以多用户同时连接.远程连接Access有很多方法,我以前已经比较详细的回答过(见下面所列的5种方法),我 ...
- java项目连接access数据库
1.导入Access_JDBC30.jar到项目中 jar包百度云链接:https://pan.baidu.com/s/10HFM3HomMArvfHjklA_1MA 密码:0qxp 项目名称-> ...
- jdbc java远程连接mysql数据库服务器
首先,需要注意以下几点: 1.手机需要获得可以访问网络的权限: 2.导入的jdbc驱动的版本需要与mysql服务器的版本相近: 3.mysql默认的访客是只允许本机(localhost),不允许其他主 ...
- Java Web项目中连接Access数据库的配置方法
本文是对前几天的"JDBC连接Access数据库的几种方式"这篇的升级.因为在做一些小项目的时候遇到的问题,因此才决定写这篇博客的.昨天已经将博客公布了.可是后来经过一些验证有点问 ...
- Java连接Access数据库的那些坑
Java 使用 JDBC 连接Access数据库 需要掌握的技能 1.Java SE基本技术 2.懂点JDBC技术 能够学到如何使用Java正确的连接JDBC 环境 window8.1 64位 jdk ...
- JSP连接access数据库
一个用jsp连接Access数据库的代码. 要正确的使用这段代码,你需要首先在Access数据库里创建一username表,表里面创建两个字符型的字段,字段名分别为:uid,pwd,然后插入几条测试数 ...
- 远程连接MySQL数据库问题总结
远程连接MySQL数据库时,陆陆续续遇到了一些杂七杂八的问题,相信很多人也曾经遇到过这类问题,下面总结归纳在下面,方便以后直接查找. 1:出现ERROR 2003 (HY000): Can't con ...
- JDBC-ODBC桥接器连接Access数据库
今天,遇到一个问题,虽然不是什么大难题,但对于初学者来说也缠绕了我好久!(好气哦) 问题: 运行jsp项目连接不上数据库: java.sql.SQLException: [Microsoft][ODB ...
- 【.net 深呼吸】连接Access数据库应注意的几点
本地数据库可以有Y种选择,比如Sqlite.SQL Server Express.SQL Local DB.SQL Server CE.Access等,本文老周选用比较著名的Access本地数据库,在 ...
随机推荐
- (笔记)linux设备驱动--LED驱动
linux设备驱动--LED驱动 最近正在学习设备驱动开发,因此打算写一个系列博客,即是对自己学习的一个总结,也是对自己的一个督促,有不对,不足,需要改正的地方还望大家指出,而且希望结识志同道合的朋友 ...
- Spring JDBC SimpleJdbcInsert类示例
org.springframework.jdbc.core.SimpleJdbcInsert类是一个多线程,可重用的对象,为将数据插入表提供了易用的功能.它提供元数据处理以简化构建基本insert语句 ...
- TPshop下载安装
一. 首先 修改 C:\Windows\System32\drivers\etc\hosts 文件 加一行 127.0.0.1 www.tpshop.com // 这里可以改成你想要的域名 二. 修改 ...
- c、c++---linux上的GetTickCount函数
http://blog.csdn.net/guang11cheng/article/details/6865992 http://wenda.so.com/q/1378766306062794
- Oracle表明明存在SQL查询数据提示表不存在异常
今天同事遇到一个很奇怪的问题,恢复了一个数据库,表明明存在,用PLSQL和sqlplus都试过了,SQL语句select * from 表名,查询数据,却提示表名不存在异常 然而,使用select * ...
- 转载:erlang实现安卓和IOS的推送。
erlang-百度云推送Android服务端功能实现-erlang erlang -- ios apns provider -- erlang 实现 转自:http://www.cnblogs.com ...
- pyremotevbox 用法
>>> import pyremotevbox.vbox as vbox >>> host = vbox.VirtualBoxHost(host='10.0.2.2 ...
- 每天一个linux命令:pwd命令
Linux中用 pwd 命令来查看”当前工作目录“的完整路径. 简单得说,每当你在终端进行操作时,你都会有一个当前工作目录. 在不太确定当前位置时,就会使用pwd来判定当前目录在文件系统内的确切位置. ...
- springboot+shiro+redis(集群redis版)整合教程
相关教程: 1. springboot+shiro整合教程 2. springboot+shiro+redis(单机redis版)整合教程 3.springboot+shiro+redis(单机red ...
- java 坑
时间戳 unix的时间戳和java中的是不同的.unix为10位,java的13位.需要进行转换. long timestamps = 1509783992L; long javaTimstamps ...