在运行带有XML源和SQL Server目标的SSIS包时,我收到错误。请找到附带的错误屏幕,并帮助我....
非常感谢, 斯里卡特
答案 0 :(得分:1)
ASCII null / NUL通常被视为许多语言中的字符串终止字符。我相信您所观察到的是SSIS库正在读取您的源XML,并且字符串终止的存在表示读取操作停止。
你怎么解决?验证的快速方法是使用十六进制编辑器编辑源XML文件并去除那些NUL值。如果ETL运行正常,那么您需要让源系统不要将其放在那里。另一个选择是查看CDATA标签是否允许安全地转义。我认为是什么意思。除非其中任何一个正常工作,否则我会使用预处理步骤从源文件中删除\ 0字符。
答案 1 :(得分:0)
很多时候,该错误意味着您的XML源在注释部分中指定的编码不同,而实际上文件的编码是不同的。例如,但文件的编码方式可能不同。在这种情况下,SSIS将引发错误。要知道文件的编码格式是什么...您可以在notepad ++或ultraedit中打开文件以查看大文件,并在页脚详细信息中看到行列,Dos \ Windows \ Unix等。将在此处指定环境,例如ANSI ,UTF-8,UTF-16等。 在我的情况下,XML注释中指定的编码为utf-8,但文件为utf-16编码。因此它抛出了错误。您可以使用ultraedit进行更改,也可以与他人联系并进行更正。
希望能帮助某人的。