我有一个 SSIS 包,其中包含将表(架构和数据)从一个数据库传输到另一个数据库的传输 SQL Server 对象任务步骤。
源数据库和目标数据库具有不同的排序规则。 (我不知道它是否是相关信息。)
在某些测试环境中,某些字符(匈牙利特定的重音字符:ő,ű)在传输过程中被转换为非重音字符 (o,u)。在其他测试环境中一切正常(匈牙利重音字符传输良好)。源表列是非 unicode (varchar),我们无法更改它,因为它是遗留系统。
实验表明,此行为取决于 Windows 区域设置(控制面板/区域和语言/管理/“非 Unicode 程序的语言”)。如果设置为匈牙利语,那么一切都很好,但如果设置为英语,那么匈牙利口音就会丢失。
问题是我无法强制执行特定的 Windows 语言环境设置,因此我正在寻找一种不依赖于 Windows 语言环境的方法来使其正确。
有没有办法告诉 SSIS 在传输中使用匈牙利代码页?
最佳答案
在 Transfer SQL Objects 任务的对象页面中,有一个名为 UseCollation 的选项。如果您选择此选项,则它应使用酸味数据的整理。
关于SSIS 传输 SQL Server 对象任务在传输的数据中丢失重音,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12729024/