我正在尝试通过SSIS包数据流任务将数据从Oracle导入SQL Server。 一列具有特殊字符,该列也是该表中组合键的一部分。 因此,在我尝试强制执行唯一性时,在SQL上加载数据后,它会失败,因为在加载数据时,特殊字符会转换为其他内容。 是否有任何属性或替代方法,以便以Oracle中的方式导入特殊字符。 提前谢谢。
答案 0 :(得分:0)
根据我的经验,这似乎是一个常见问题。 我将尝试描述一些可能对您有所帮助的步骤。 首先,您需要禁用主键列并再次运行dtsx。 其次,必须找到导致主键冲突的相同值。 这意味着可能会将两个不同的字符映射到同一字符,并产生错误。
请记住,SSIS无法使用Oracle的UTF-8进行读取,如果您进入Oracle Source Object中的Advanced View并检查输入/输出列,则可以自己查看,通常,代码页为1251。
唯一的解决方案是使用“派生列”并在插入之前手动替换有问题的字符。此外,如果您执行此解决方案,则将有更多帮助。
OracleDB->文件->派生列-> SQLServer