如果我在错误的论坛上发布我的问题,请先道歉。
我们在3年前在学校实施了旧软件(Java swing应用程序)。
现在我们计划安装我们的新软件(Java spring MVC Web应用程序)。当我们第一次实施时,他们已经手动输入了超过3000多名学生。现在他们再次无法在我们的新系统中输入相同的数据......有没有办法将现有记录翻译成我们的新数据库..如何实现这一目标......
--- ---编辑 数据库因两个应用程序而异。
例如:
我的新数据库中还有15个字段...我的所有列名都被更改了。
请指导我..
答案 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)
抱歉,回答你的问题是不可能的。您还没有提供任何有关数据如何存储在旧系统中的信息(平面文件,关系数据库,其他数据库类型),您在新系统中使用的内容,第一个应用程序中存储的信息的结构是什么,是否与后者使用的类似,等等。有一个细节需要给你一个提示,你的问题没有提供这些。