0

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

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

4

2 回答 2

1

如果您使用的是 SQL Server 2012,则可以使用TRY_CAST()TRY_CONVERT()TRY_PARSE()(请参阅blog.dbandbi 的 Biz Nigatu 的这篇文章进行比较)。

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

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

于 2014-06-21T22:57:08.370 回答
0

我有一个使用 EzAPI 组合在一起的 SSIS 解决方案。我已将其发布到 GitHub,因此请随意查看:

https://github.com/thevinnie/SyncDatabases

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

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

欢迎提出意见和建议。希望它会有所帮助,但我认为你会看到INFORMATION_SCHEMA.COLUMNS任何一种方式。

于 2014-06-22T00:14:35.457 回答