ssis - 如何在不更改部署服务器上的区域设置的情况下导入平面文件?

标签 ssis delimiter flat-file

我正在尝试读取 SSIS (2005/2008) 中的文本文件。我创建了与文件的连接并放置了平面文件源,它在预览中工作正常,但是当我尝试运行时,我收到错误消息:

[Derived Column [91848]] 
Error: SSIS Error Code DTS_E_INDUCEDTRANSFORMFAILUREONERROR

所以我已经确定有几列带有十进制数的列使用句点作为分隔符。但由于我在斯堪的纳维亚环境中工作,服务器希望逗号作为分隔符。

有效的是在 Windows 服务器上的区域设置中手动将分隔符从逗号更改为句点,但这不是一个适当的解决方案。

如何使用 SSIS 导入平面文件而不必更改部署包的服务器上的区域设置?

最佳答案

您应该可以设置 LocaleID 在平面文件连接对象上。这将在读取该文件时应用英语区域设置,而不会影响计算机上的其他内容。 (查看“属性”窗口,而不是“编辑器”对话框。)

右键单击 Connection Managers 下的平面文件连接部分并选择 Properties .您也可以选择平面文件连接管理器,然后按 F4查看属性。

Flat file connection manager

设置 LocaleID根据您的喜好。

LocaleID property

关于ssis - 如何在不更改部署服务器上的区域设置的情况下导入平面文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14647532/

相关文章:

json - 使用 ConvertTo-Json 转换为 JSON 时保留数据类型名称

c - 使用 strtok() 在 C 中分隔文件路径

java - 正则表达式用定界符拆分,同时保留定界符

java - 如何配置 beanio 以忽略平面文件中的某些字符

c# - 解析自定义二进制平面文件的首选方法?

sql-server - 具有格式化时间的 SSIS 变量

c# - 如何在 ssis c# 脚本任务中添加 Microsoft Office Interop

sql-server-2008 - 为什么 SSIS OLE DB 导入不导入文本文件的最后一行?

sql-server - SSIS 将连续数据从一台服务器/数据库插入到另一台服务器/数据库

java - 输入数字时分隔文本字段中的数字 (Javafx)