| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2387 人关注过本帖
标题:[求助]如何用java将整个数据库导入导出
只看楼主 加入收藏
狂飙的蜗牛
Rank: 1
等 级:新手上路
帖 子:174
专家分:0
注 册:2007-1-23
收藏
 问题点数:0 回复次数:11 
[求助]如何用java将整个数据库导入导出
如题!

路过的朋友就踩两脚
搜索更多相关主题的帖子: 数据库 java 朋友 
2007-05-19 06:48
狂飙的蜗牛
Rank: 1
等 级:新手上路
帖 子:174
专家分:0
注 册:2007-1-23
收藏
得分:0 
没人会吗.还是都不愿意说啊.
这个是我程序中一个功能,

可是我该怎么做呢.
我是想导成mdb文件..
2007-05-19 17:47
狂飙的蜗牛
Rank: 1
等 级:新手上路
帖 子:174
专家分:0
注 册:2007-1-23
收藏
得分:0 
沉低了...再次漂上来.
这个是不是不可能实现的啊.
冰封大哥,你说呢
2007-05-21 09:45
支离破碎
Rank: 6Rank: 6
等 级:贵宾
威 望:23
帖 子:737
专家分:0
注 册:2007-1-4
收藏
得分:0 
不知道你为什么要导成MDB文件。
如果是做数据的交互,那导成XML文件比较好,。

人生漂泊無依,有如浮萍菱花,隨水飄流,你会在我这里停留吗?
[url=http://51mynet.]http://51mynet.[/url]
2007-05-21 11:14
千里冰封
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:灌水之王
等 级:版主
威 望:155
帖 子:28477
专家分:59
注 册:2006-2-26
收藏
得分:0 
这个我不懂

可惜不是你,陪我到最后
2007-05-21 12:16
狂飙的蜗牛
Rank: 1
等 级:新手上路
帖 子:174
专家分:0
注 册:2007-1-23
收藏
得分:0 
是做的一个在线考试系统中有个功能为"数据库导入导出".我也不知道到底应该以什么方式进行导入导出,所以来问问.我是希望能直接导出整个数据库,就像在SQL中右键导出的一样.

如果有其他方法,希望高手们能指导一下.

谢谢 支离破碎 和 千里冰封
2007-05-22 14:15
支离破碎
Rank: 6Rank: 6
等 级:贵宾
威 望:23
帖 子:737
专家分:0
注 册:2007-1-4
收藏
得分:0 

SQL的导出/导入是把数据导出/导入来了,你要想做这个就简单,你可以把数据导成XML形式,就可以把数据插入到不同数据库中了。
我有一个例子,不过是2年前的了,思路是一样的,你可以优化一下:
[CODE]
Java使XML和DB互相访问之(DB读记录到XML文件)

用JAVA把ORACLE的记录放入到XML中
ORACLE中表结构:
字段名 类型
name varchar2(10)
age number(4)
sex varchar2(10)


Java文件:
package DBToXml;

import javax.xml.parsers.*;
import org.w3c.dom.*;
import java.sql.*;
import java.io.*;
import javax.xml.transform.*;
import javax.xml.transform.dom.*;
import javax.xml.transform.stream.*;

public class DBToXml
{
public static void main(String args[])
{
String url="jdbc:Oracle:thin:@a17:1521:a17"; //此处URL为a17为本机名,1521为端口号,第二个a17为ORACLE实例名。
Connection con=null;
Statement stm=null;
ResultSet rs=null;
Document doc;
Element stus=null;
Element stu=null;
Element name=null;
Element age=null;
Element sex=null;
try
{
System.out.println("Open the DB.........");
Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
con=DriverManager.getConnection(url,"scott","tiger");
stm=con.createStatement();
rs=stm.executeQuery("select * from stu");
DocumentBuilderFactory dbf=DocumentBuilderFactory.newInstance();
DocumentBuilder db=dbf.newDocumentBuilder();
doc=db.newDocument();
File file=new File("StudentTest.xml");
stus=doc.createElement("Students");
while(rs.next())
{

stu=doc.createElement("student");
name=doc.createElement("name");
age=doc.createElement("age");
sex=doc.createElement("sex");

name.appendChild(doc.createTextNode(rs.getString("name")));
age.appendChild(doc.createTextNode(Integer.toString(rs.getInt("age"))));
sex.appendChild(doc.createTextNode(rs.getString("sex")));
stu.appendChild(name);
stu.appendChild(age);
stu.appendChild(sex);
stus.appendChild(stu);
}
doc.appendChild(stus);
TransformerFactory tf=TransformerFactory.newInstance();
Transformer t=tf.newTransformer();
t.transform(new DOMSource(doc),new StreamResult(file));
System.out.println("Write to the File Over!.........");
rs.close();
stm.close();
con.close();
}
catch(Exception e)
{
e.printStackTrace();
}
}
}
[/CODE]
[CODE]
Java使XML和DB互访之(XML元素存入DB中)

Java读XML存入到ORACLE中去:

XML文件:
<?xml version="1.0" ?>
<students>
<student>
<name>One</name>
<age>20</age>
<sex>M</sex>
</student>
</students>

Java文件:


package XmlToDB;

import javax.xml.parsers.*;
import org.w3c.dom.*;
import java.sql.*;
import java.io.*;

public class XmlToDB
{
public static void main(String args[])
{
String url="jdbc:Oracle:thin:@a17:1521:a17";

Document doc=null;
String name;
int age;
String sex;

Statement stm;
Connection con;

try
{
System.out.println("Open the DB for Write.........");
Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
con=DriverManager.getConnection(url,"scott","tiger");
stm=con.createStatement();
DocumentBuilderFactory dbf=DocumentBuilderFactory.newInstance();
DocumentBuilder db=dbf.newDocumentBuilder();
doc=db.parse(new File("student.xml"));
NodeList nl=doc.getElementsByTagName("student");
for(int i=0;i<nl.getLength();i++)
{
Element e=(Element)nl.item(i);
name=e.getElementsByTagName("name").item(0).getFirstChild().getNodeValue();
age=Integer.parseInt(e.getElementsByTagName("age").item(0).getFirstChild().getNodeValue());
sex=e.getElementsByTagName("sex").item(0).getFirstChild().getNodeValue();
stm.executeUpdate("insert into stu values(''"+name+"'',"+age+",''"+sex+"'')");
}
System.out.println("Write ok.....");
stm.close();
con.close();
}
catch(Exception e)
{
e.printStackTrace();
}
}
}
[/CODE]


人生漂泊無依,有如浮萍菱花,隨水飄流,你会在我这里停留吗?
[url=http://51mynet.]http://51mynet.[/url]
2007-05-22 14:29
狂飙的蜗牛
Rank: 1
等 级:新手上路
帖 子:174
专家分:0
注 册:2007-1-23
收藏
得分:0 

如果我将数据库的内容导入到EXCEL,是不是可以实现同样效果啊.

但是有个问题,数据库当中有多个表,如果我理解的没错的话,上面的代码是只能将stu表中的内容导到XML中了。那其他的表我是不是还得继续做上面的操作呢。

十分感谢 支离破碎..

2007-05-22 15:04
支离破碎
Rank: 6Rank: 6
等 级:贵宾
威 望:23
帖 子:737
专家分:0
注 册:2007-1-4
收藏
得分:0 
多表你就要一个一个导出来了,SQLSERVCE也是一张表一张表做的,

导成EXCEL也是可以的,但是相对于XML来说用JAVA操作EXCEL比XML要复杂多。
这个主要看你的需求有没的要生成EXCEL文档作为报表的要求了~~

人生漂泊無依,有如浮萍菱花,隨水飄流,你会在我这里停留吗?
[url=http://51mynet.]http://51mynet.[/url]
2007-05-22 15:12
狂飙的蜗牛
Rank: 1
等 级:新手上路
帖 子:174
专家分:0
注 册:2007-1-23
收藏
得分:0 

导出没问题。
在导入时,是不是要先将那个表删除才能导入啊。在JAVA中,用什么代码可以将数据库中的一个表删除。

2007-05-22 15:24
快速回复:[求助]如何用java将整个数据库导入导出
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.036540 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved