将现有数据上传到新数据库的最简单方法

时间:2015-05-06 09:48:37

标签: java spring-mvc deployment

如果我在错误的论坛上发布我的问题,请先道歉。

我们在3年前在学校实施了旧软件(Java swing应用程序)。

现在我们计划安装我们的新软件(Java spring MVC Web应用程序)。当我们第一次实施时,他们已经手动输入了超过3000多名学生。现在他们再次无法在我们的新系统中输入相同的数据......有没有办法将现有记录翻译成我们的新数据库..如何实现这一目标......

--- ---编辑 数据库因两个应用程序而异。

例如:

我的新数据库中还有15个字段...我的所有列名都被更改了。

请指导我..

2 个答案:

答案 0 :(得分:1)

您可以写下一些连接旧数据库的代码,读取数据并在新数据库上创建和插入。根据您的DBMS信息,我可以建议您采用这种方法。首先让你的软件运行这个SQL语句:

SHOW CREATE TABLE t\G

通过这种方式,您可以获取数据库信息,因此您可以在新服务器上创建相同的数据库。然后使用所有字段,您可以运行select语句来获取所有行并将它们作为字符串存储在列表中,以便稍后可以在其他数据库上运行它们。另一种方法是简单地运行mysqldump:

mysqldump -t -u MyUserName -MyPassword MyDatabase MyTable

假设您无法直接访问mysqldump,顺便说一下,写下这段代码相当容易,我会坚持使用show create table加上select insert。只是为了解释我生成插入的选择,就像那样:

SHOW CREATE TABLE t\G

Create Table: CREATE TABLE t (
  id INT(11) default NULL auto_increment,
  s char(60) default NULL,
  PRIMARY KEY (id)
) ENGINE=MyISAM

"SELECT 'INSERT INTO t(id,s) VALUES(' as inserthead,id,',\'' as firstcomma,s,'')' as endofstatement from t

答案 1 :(得分:0)

抱歉,回答你的问题是不可能的。您还没有提供任何有关数据如何存储在旧系统中的信息(平面文件,关系数据库,其他数据库类型),您在新系统中使用的内容,第一个应用程序中存储的信息的结构是什么,是否与后者使用的类似,等等。有一个细节需要给你一个提示,你的问题没有提供这些。