SQL数据映射&迁移工具

时间:2014-06-21 18:08:40

标签: sql sql-server data-migration data-mapping

我正在开发一个自动化工具,用于从一个表到另一个表的数据迁移,这里我正在寻找一个函数或SP,我将其作为输入参数传递源列和目标列。当源列数据兼容复制到目标列时,我希望输出参数返回true。如果没有那么它应该返回false。

例如,如果源列是varchar且目标列是整数,则脚本应检查源列中的所有数据是否足以移动到整数列并返回输出标志。对于所有类型的数据类型,我希望脚本能够像这样工作。任何建议都会有所帮助。

2 个答案:

答案 0 :(得分:1)

如果您使用的是SQL Server 2012,则可以使用TRY_CAST()TRY_CONVERT()TRY_PARSE()(请参阅 blog的Biz Nigatu的this post .dbandbi 用于比较)。

那就是说,你仍然需要检查截断错误,例如:通过转换为目标数据类型并返回,然后将原始值与转换后的值进行比较。

我过去曾见过类似的工具,看看是否已经免费在线提供,可能是一个好主意。即使购买也可能比您开发和排除自己的工具故障的时间更便宜。

答案 1 :(得分:0)

我有一个SSIS解决方案,我使用EzAPI放在一起。我已将它发布到GitHub,所以请随意查看:

https://github.com/thevinnie/SyncDatabases

现在,与您相关的那部分将是我使用信息模式来确保源和目标是模式匹配的部分。如果没有,C#脚本任务将生成用于创建,更改或删除必要列的语句。

EzAPI部分很酷,因为它允许您以编程方式生成SSIS包。对于项目需求,我需要每次都能够加载数据,不要让源中的模式更改破坏过程。

欢迎提出意见和建议。希望它会有所帮助,但我认为你会以INFORMATION_SCHEMA.COLUMNS的方式看待它。