java 实现数据库服务器之间的数据传输

java 实现数据库服务器之间的数据传输

ID:6031822

大小:84.74 KB

页数:6页

时间:2017-12-31

java 实现数据库服务器之间的数据传输_第1页
java 实现数据库服务器之间的数据传输_第2页
java 实现数据库服务器之间的数据传输_第3页
java 实现数据库服务器之间的数据传输_第4页
java 实现数据库服务器之间的数据传输_第5页
资源描述:

《java 实现数据库服务器之间的数据传输》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、java实现两个数据库服务器之间的数据传输,我使用的是数据库的备份和恢复功能。如图1所示,A机器上的数据库信息传到B机器上。其实没必要用一个系统实现,可以直接到A机器上导出数据库,比如XX.sql、XX.dmp、XX.MDF等等文件,传入到B机器上导入就可以。但是一般客户不知道数据库导入导出命令,需要给个界面化操作。界面上需要的填入的信息大概就是A、B机器数据库的数据库名称、IP、端口、用户名、密码等信息。前几天帮同学完成这功能之后,一个公司也可以开发这样的一个系统,将所有数据库导入导出集成到系统中,发布到公司的内网上,供公司人员使用也不错的。图

2、1       废话不多说了,就实现上面的功能,下面给出mysql例子。       原理比较简单,通过客户端访问OA系统,填入必要的信息之后 ,将信息传入C服务器处理,在C机器上取得A数据库信息,然后将A数据库信息在C服务器上恢复到B上。如图2所示,这些是我需要的数据库信息。图2      首先,备份A机器上的MySql数据库信息:备份恢复mysql数据库需要用到mysqldump和mysql命令,这需要我们指定他们的exe执行文件。有两种修改方案,一种修改环境变量的path变量,编辑path变量,在它的变量值中添加mysql安装路径bin目录

3、下(C:ProgramFilesMySQLMySQLServer5.0bin),另一种在使用备份恢复命令时直接具体的路径:C:ProgramFilesMySQLMySQLServer5.0binmysqldump。下面给出主要方法:/** *@FunctionName:bakMysql *@Description:备份mysql数据库 *@DateCreated:Oct27,20118:57:05PM *@param:dbName数据库名称,tableNames备份的数据表名称(多张表以逗号分隔),ip *           

4、需要备份的数据库地址,username用户名,password密码,dbFilePath临时目录 *@Author:LiQing *@LastModified:,DateModified: */ publicbooleanbakMysql(StringdbName,StringtableNames,Stringip, Stringusername,Stringpassword,StringdbFilePath){           //备份命令,可以分两种情况考虑,如果只备份整个数据库,那么表tableNames为空,这时备份整个数据库,如果t

5、ableNames有值,这里就备份某一张或者多张表          StringbakComand="mysqldump"+"-h"+ip+"-u"+username+"-p"+password+"--set-charset=utf-8"+dbName+""                                            +tableNames;           try{                 Runtimert=Runtime.getRuntime();                  Processp=

6、rt.exec("cmd/c"+bakComand);                 //把进程执行中的控制台输出信息写入.sql文件,即生成了备份文件。                 InputStreaminStream=p.getInputStream();                 //设置输出流编码为utf8。这里必须是utf8,否则从流中读入的是乱码                 InputStreamReaderins=newInputStreamReader(inStream,"utf-8");            

7、        //每行数据                                StringinStr;                StringBuffersb=newStringBuffer("");               //组合控制台输出信息字符串                 BufferedReaderbr=newBufferedReader(ins);               //读取控制台信息                while((inStr=br.readLine())!=null){      

8、             //添加到sb变量中                   sb.append(inStr+"r");  

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。