sql - 将关系数据从数据库复制到数据库

标签 sql sql-server sql-server-2005 .net-3.5

编辑:让我完全重新表述一下,因为我不确定是否存在像我最初描述的那样的 XML 方式。

另一个编辑:这需要是一个可重复的过程,并且必须能够以可以在 C# 代码中调用的方式进行设置。

在数据库 A 中,我有一组表,通过 PK 和 FK 关联。比方说,一个父表,带有子表和孙表。

我想要将一组行从数据库 A 复制到数据库 B,该数据库具有相同名称的表和字段。对于每个表,我想插入到数据库 B 中的同一个表中。但是我不能被限制使用相同的主键。 复制例程必须为数据库 B 中的每一行创建新的 PK,并且必须将它们传播到子行。换句话说,我在数据之间保持相同的关系,但 PK 和 FK 不完全相同。

你会如何解决这个问题?我愿意接受建议。 SSIS 并没有被完全排除,但在我看来它不会做这样的事情。我也愿意接受 LINQ 中的解决方案,或者使用类型化数据集,或者使用一些 XML 东西,或者任何可以在 SQL Server 2005 和/或 C# (.NET 3.5) 中工作的东西。最好的解决方案不需要 SSIS,也不需要编写大量代码。但我承认这个“最佳”解决方案可能不存在。

(这个任务不是我自己提出的,也不是我自己提出的限制;这就是它给我的方式。)

最佳答案

我认为 SQL Server 实用程序 tablediff.exe可能就是您正在寻找的。

另请参阅this thread .

关于sql - 将关系数据从数据库复制到数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59357/

相关文章:

sql-server - SQL Server Xml 列最佳实践

SQL Server 2008R2 完全外连接不工作

sql - 检索每个客户的最新记录

sql - 需要使用t-sql代码创建一个excel文件

sql-server-2005 - SQL排序和连字符

sql - 如何在没有索引的情况下加速 Postgres 中的最小/最大聚合

sql - 如何迭代填充临时表并将结果填充到列中?

sql - 使用 JOIN 来避免数字 ID 是一件坏事吗?

mysql - 无法弄清楚如何完成sql语句

c# - 如何在 ASP.NET Core 中使用 C# 生成自定义键号