不同数据库多表关联数据导入导出?
对不起,请问你所说的“不同数据库”是什么意思。是同种数据库中的两个数据库(比如都是Oracle)等等。还是不同种类的数据库之间:比如SQL Server 和Access之间。
对于前者,使用“导入\导出”命令,先选择自己要从什么数据库中导出,再选择目标数据库,从最后表的列表中选择“所有”。 就可以了。而表之间可能存在关联关系,那么我给你说你先还是这么导入,可能存在很少的表不能导入,这是因为“外键”数据必须依赖于“主键”的数据,而导入/导出按照我自己的推理应该是按照数据源表所存在的顺序而存在的,那么你可以用一下两种方法:一种就是在表不多的情况下,纪录还没有导入的表,在导一次,另外一个就是,...全部
对不起,请问你所说的“不同数据库”是什么意思。是同种数据库中的两个数据库(比如都是Oracle)等等。还是不同种类的数据库之间:比如SQL Server 和Access之间。
对于前者,使用“导入\导出”命令,先选择自己要从什么数据库中导出,再选择目标数据库,从最后表的列表中选择“所有”。
就可以了。而表之间可能存在关联关系,那么我给你说你先还是这么导入,可能存在很少的表不能导入,这是因为“外键”数据必须依赖于“主键”的数据,而导入/导出按照我自己的推理应该是按照数据源表所存在的顺序而存在的,那么你可以用一下两种方法:一种就是在表不多的情况下,纪录还没有导入的表,在导一次,另外一个就是,在表建立很有规则的情况下,完全导入,因为表一旦有了规则,第一次首先主键表肯定是可以导入进入的,外键表一般一层,而一般的表都存在一个主键,如果从新导入的时候就不会追加在后面而产生冗余数据了,这些你不用担心它会把主键、约束覆盖掉,它在导入导出数据的时候自动察看是否存在同名的目标数据表,如果有就不生成了,自动按照那个表的规则办事,而如果没有对应目标则生成一个数据表,而且一般都没有主键、没有任何约束、并保持Unicode数据类型。
但始终不大好。我一般有两种办法:一是先导出SQL代码,就是生成表的
SQL代码(记住: 包含主外键约束全部导出),在再另一个数据库中生成这些表,然后 再道数据了。另外一个是先把个数据库备份出来,然后用“数据库恢复”,在恢复的目标数据库中写如你要新生成的一个数据库并使用“强执行”就可以生成一个一样的数据库了。
而对于网络管理的数据库(分布式数据原理)其需要数据库的复制技术,以达到数据库的随时动态一致,说这些就更多了。
对于你说的第二种,和在导入/导出那里只需要将目标选择一个数据源,如果没有可以建立一个数据源,通过它可以对不同种类的数据库导入/导出的操作。
我现在玩的数据库中有5种,在导入导出的时候很少出什么问题,像昨天我导了一个50多张表的数据库,其中有很复杂的数据关系,都只有1张表没有导入成功,我再导了一次就完全成功了。收起