优点:Access部署简单方便,就一个文件运用起来比较灵活主要是桌面数据库系统,他也可以开发基于自己的桌面数据库应用(UI),也可以作为前端开发工具与其它数据库搭配开发应用程序(如SQL Server、DB2、Oracle等),熟练的软件设计师和资料分析师利用它来开发应用软件,而一些不熟练的程序员和非程序员的初级用户则使用它来开发简单的应用软件。
缺点:数据储存量小安全性不够高,加了用户级密码容易破解。C/S结构下对服务器要求很高,否则容易造成Mdb损坏,并发数255,但是对高强度 *** 作适应性差,如果服务器不够好、网络不够好、编程方法不够好,6-7个人同时访问就能导致Mdb损坏或者并死,不能将VBA代码开发的软件系统直接编译成Exe可执行文件,不能脱离Access或者Access Runtime环境,该环境相对其他软件体积较大(50M左右)。Microsoft Access数据库有一定的极限,如果数据达到100M左右,很容易造成服务器IIS假死,或者消耗掉服务器的内存导致服务器崩溃。
SQL Server是一个关系数据库管理系统。
优点:安全性高真正的客户机/服务器体系结构,图形化用户界面,使系统管理和数据库管理更加直观、简单,丰富的编程接口工具为用户进行程序设计提供了更大的选择余地。SQL Server与Windows NT完全集成,利用了NT的许多功能,如发送和接受消息,管理登录安全性等。SQL Server也可以很好地与Microsoft BackOffice产品集成。具有很好的伸缩性,可跨越多种平台使用,对Web技术的支持,使用户能够很容易地将数据库中的数据发布到Web页面上。SQL Server还提供数据仓库功能,这个功能只在Oracle和其他更昂贵的DBMS中才有。
缺点:因功能强大,所以 *** 作数据比Access较为复杂。
Oracle、SQLServer、Sybase等。Oracle、SQLServer、Sybase、Informix、Mysql、VisualFoxPro等大型数据库不是由MongoDB默认提供,这些都是独立的数据库可以供用户参考。
数据库产生于1960年,随着信息技术和市场的发展,特别是二十世纪九十年代以后,数据管理不再仅仅是存储和管理数据,而转变成用户所需要的各种数据管理的方式。
数据库中的数据是为众多用户所共享其信息而建立的,已经摆脱了具体程序的限制和制约,不同的用户可以按各自的用法使用数据库中的数据,多个用户可以同时共享数据库中的数据资源。
直接读写文件,再把读出来的文件内容格式化成json,再用JDBC、Mybatis或者其他框架将json数据存入数据库。假设实体类是这样的:
public class ElectSet {
public String xueqi
public String xuenian
public String startTime
public String endTime
public int menshu
public String isReadDB
//{"xueqi":,"xuenian":,"startTime":,"endTime":,"renshu":,"isReadDB":}
public String getXueqi() {
return xueqi
}
public void setXueqi(String xueqi) {
this.xueqi = xueqi
}
public String getXuenian() {
return xuenian
}
public void setXuenian(String xuenian) {
this.xuenian = xuenian
}
public String getStartTime() {
return startTime
}
public void setStartTime(String startTime) {
this.startTime = startTime
}
public String getEndTime() {
return endTime
}
public void setEndTime(String endTime) {
this.endTime = endTime
}
public int getMenshu() {
return menshu
}
public void setMenshu(int menshu) {
this.menshu = menshu
}
public String getIsReadDB() {
return isReadDB
}
public void setIsReadDB(String isReadDB) {
this.isReadDB = isReadDB
}
}
有一个json格式的文件,存的信息如下:
Sets.json:
{"xuenian":"2007-2008","xueqi":"1","startTime":"2009-07-19 08:30","endTime":"2009-07-22 18:00","menshu":"10","isReadDB":"Y"}
具体 *** 作:
/*
* 取出文件内容,填充对象
*/
public ElectSet findElectSet(String path){
ElectSet electset=new ElectSet()
String sets=ReadFile(path)//获得json文件的内容
JSONObject jo=JSONObject.fromObject(sets)//格式化成json对象
//System.out.println("------------" jo)
//String name = jo.getString("xuenian")
//System.out.println(name)
electset.setXueqi(jo.getString("xueqi"))
electset.setXuenian(jo.getString("xuenian"))
electset.setStartTime(jo.getString("startTime"))
electset.setEndTime(jo.getString("endTime"))
electset.setMenshu(jo.getInt("menshu"))
electset.setIsReadDB(jo.getString("isReadDB"))
return electset
}
//设置属性,并保存
public boolean setElect(String path,String sets){
try {
writeFile(path,sets)
return true
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace()
return false
}
}
//读文件,返回字符串
public String ReadFile(String path){
File file = new File(path)
BufferedReader reader = null
String laststr = ""
try {
//System.out.println("以行为单位读取文件内容,一次读一整行:")
reader = new BufferedReader(new FileReader(file))
String tempString = null
int line = 1
//一次读入一行,直到读入null为文件结束
while ((tempString = reader.readLine()) != null) {
//显示行号
System.out.println("line " line ": " tempString)
laststr = laststr tempString
line
}
reader.close()
} catch (IOException e) {
e.printStackTrace()
} finally {
if (reader != null) {
try {
reader.close()
} catch (IOException e1) {
}
}
}
return laststr
}
将获取到的字符串,入库即可。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)