我有问题将数据从一个sqlserver 2008 r2传输到另一个具有不同架构的sql server 2012数据库,这里有一些不同的场景,
- 数据库1
醇>
数据库1包含表Firm和Client,这些都有FirmId和ClientId主键作为int数据类型, FirmId是int数据类型,作为Client表中使用的引用键。
- 数据库2
醇>
数据库2具有相同的表Firm和Client,它们都具有FirmId和ClientId但主键作为uniqueidentifier, FirmId是uniqueidentifier数据类型,作为Client表中使用的引用键。
- 问题
醇>
问题不是将数据从1个数据库表复制到2个数据库表,但问题是将引用键的Firm表维护到Client表中。因为有数据类型改变。
我正在使用sql server 2008 r2和sql server 2012
请帮我解决/找到解决方案,非常感谢您宝贵的时间和精力。感谢
答案 0 :(得分:4)
即使我远离SQLServer的专家,我也会抓住它 - 这是一个通用的程序(你必须为所有必须用UID替换INT的表重复它,当然.. )。 我将使用表A来引用父级(如果我清楚地了解您的示例,则使用公司),使用表B来引用子级(客户,我相信)。
话虽如此,我只想向您添加警告:根据一些人的说法,转换为UID a very bad idea。但是如果你真的需要这样做,你可以编写(并测试)上面提到的程序。