Ssis 如何在不更改部署服务器上的区域设置的情况下导入平面文件?
我正在尝试读取SSIS(2005/2008)中的文本文件。我创建了一个到该文件的连接,并放置了平面文件源,它在预览中工作正常,但当我尝试运行时,我得到一个错误提示:Ssis 如何在不更改部署服务器上的区域设置的情况下导入平面文件?,ssis,delimiter,flat-file,Ssis,Delimiter,Flat File,我正在尝试读取SSIS(2005/2008)中的文本文件。我创建了一个到该文件的连接,并放置了平面文件源,它在预览中工作正常,但当我尝试运行时,我得到一个错误提示: [Derived Column [91848]] Error: SSIS Error Code DTS_E_INDUCEDTRANSFORMFAILUREONERROR 因此,我发现有两列带有十进制数,它们使用句点作为分隔符。但由于我在斯堪的纳维亚环境中工作,服务器希望逗号作为分隔符 有效的方法是在windows服务器上的区域设
[Derived Column [91848]]
Error: SSIS Error Code DTS_E_INDUCEDTRANSFORMFAILUREONERROR
因此,我发现有两列带有十进制数,它们使用句点作为分隔符。但由于我在斯堪的纳维亚环境中工作,服务器希望逗号作为分隔符
有效的方法是在windows服务器上的区域设置中将分隔符从逗号手动更改为句点,但这不是一个适当的解决方案
如何使用SSIS导入平面文件,而不必更改部署包的服务器上的区域设置 您应该能够在平面文件连接对象上设置
LocaleID
。这将在读取该文件时应用英语区域设置,而不会影响计算机上的其他内容。(查看“属性”窗口,而不是“编辑器”对话框。)
右键单击连接管理器
部分下的平面文件连接,然后选择属性
。您还可以选择平面文件连接管理器,然后按F4
查看属性
根据您的偏好设置LocaleID
我做了相反的事情,用逗号填充一个文本文件作为十进制分隔符,并将LocaleID设置为Norway。以十进制形式导入的字段很好。我的猜测是,您在更改LocaleID后没有刷新列映射。在SSIS 2012中为我工作:文本文件以逗号作为小数分隔符,美国作为控制面板中的区域格式,美国作为连接对象中的区域设置->失败。将连接对象中的区域设置更改为Norwegian,Nynorsk(挪威)解决了这个问题,不需要刷新列映射。这对我帮助很大。之后必须刷新源对象中的列映射。