如果是不同数据库之间,则需要将数据和表结构导出到sql语句中,在目标库重建。另外,使用数据仓库,可以实现将不同数据源的数据整合。
没做过类似的迁移,以个人的意见供参考。获取sqlserver的所有值
得到 假设id,username为变量分别存储
sql语句是用mysql中的格式写的,oracle没用过,所以语句格式不详,思路却一样。
sql=inster into table (p_id,p_name) values
循环 {
sql += (id,username)
}
直接将数据变成sql语句,当数据量大,可以设置每1000条为一条语句,然后再oracle数据库中插入。
我不是很理解你所说的话,但大致就以下几种情况: 1、本机器上的不同数据库之间的表,并目标数据库中不存在此表名称。那么这样做: 在选择要倒出的数据库的表上(数据库上都可以)右键\所有任务\倒出数据\下一步\下一步.在这里的对话框中的下方有一个选择目标数据库的下拉菜单,它包含了所有本机器的数据库系统,选择你要的数据库.然后直接下一步直到运行为止. 如果目标数据库中有要倒入的表名称,方法一是修改目标表名,二是直接倒,方法一是看具体应用,方法而是在原表数据基础上进行追加数据,不过注意:若主外键冲突或某些约束情况,此表倒入 *** 作将不能倒入任何一条数据。若多表的同时倒入,出现上述情况,出现冲突的表将不能倒入任何数据,未出现冲突的可以正常倒入。2、本两个机器之间的数据转移,那么前提是目标机器的数据库系统在本机器得到了注册的(关于注册这里就不多说了,任何书籍上都有),在 *** 作中大部分和上述工作一样,就在选择数据库的对话框中间有一个选择服务器,再此输入目标服务器的服务器号码,并使用 SQL Server用户名和密码(这里的用户名和密码是目标服务器的)。若目标服务器中不存在自己想要的数据库名称,可以在数据库选择的下拉列表中选择“新建”,建立一个目标数据库就可以执行下面的 *** 作了。 3、不同数据源之间的 *** 作, *** 作同上,不过要在目标的对话框中上方“目的”下拉列表中选择一个数据源(比如:ACCESS、ORACLE),如果没有这个数据源就可以建立一个新的数据源不测试是否通过。其他 *** 作同上。 4、向EXCEL、txt等倒出数据,其实它也归属于第3种数据转移,只不过这里区别大所以独立出来,这些适合于一些答应报表的直接生成。 *** 作方法和3相同。不过不同数据源之间的数据转移很多可能是不可以完全成功的(此情况出现在有多个表并且它们之间有很多主外键关系的情况),主要是因为SQL Server在处理倒入倒出的时候没有按照主次关系,因为只考虑数据转移,然而,在数据进入 SQL Server 的时候就有部分表的数据进入就并不一定按照主次关系进入,导致他们的倒入违反主外键约束。像这样的情况我一般倒两次,第一次至少主键表可以进入,第二次,主键表的信息冲突就不改变信息了,关系表的信息自然也进去了,但这样的情况不是对于复杂的关系模式,如果关系模式很复杂,就没有那么简单了。我一般有备份或程序来实现转移。欢迎分享,转载请注明来源:内存溢出
评论列表(0条)