MS SQL 服务器 SSIS 导入错误十进制值
MS SQL Server SSIS Import error decimal value
我有以下 csv 文件
Column
2,3
2,4
每次我通过 SSIS 包导入数据时,都会因为逗号值而出错。当我将 2,3 和 2,4 更改为 2.3 和 2.4 时,它工作正常。并且这些值将与 2,3 和 2,4 一起正确存储到 table.
对于导入,我使用代码页 1252 ANSI-Lateinisch I,数据库中的字段是十进制 (18,2)。
我的导入有什么问题?有任何想法吗?
谢谢
在您的 csv 连接管理器中,将列分隔符更改为 {CrLf} 字符。
您在问题中提到了错误原因:
When I change 2,3 and 2,4 to 2.3 and 2.4 it is working fine. And the values will be stored correctly with 2,3 and 2,4 into table.
这意味着 ,
导致了问题。检查未用作定界符。
在平面文件连接管理器中,转到高级选项卡,select 列并更改列分隔符 属性。
如果是行中的最后一列,将分隔符更改为{CRLF}
。
如果文件中有很多列并且分隔符是逗号 ,
那么您必须将其替换为 .
或使用添加文本限定符。
解决方法
如果仍然不起作用,请将列类型更改为 DT_STR
,然后在 Data flow task
中添加一个派生列,将 ,
替换为 ,
并进行转换值为十进制。示例:
(DT_DECIMAl,2)REPLACE([COLUMN], ",", ".")
我有以下 csv 文件
Column
2,3
2,4
每次我通过 SSIS 包导入数据时,都会因为逗号值而出错。当我将 2,3 和 2,4 更改为 2.3 和 2.4 时,它工作正常。并且这些值将与 2,3 和 2,4 一起正确存储到 table.
对于导入,我使用代码页 1252 ANSI-Lateinisch I,数据库中的字段是十进制 (18,2)。
我的导入有什么问题?有任何想法吗?
谢谢
在您的 csv 连接管理器中,将列分隔符更改为 {CrLf} 字符。
您在问题中提到了错误原因:
When I change 2,3 and 2,4 to 2.3 and 2.4 it is working fine. And the values will be stored correctly with 2,3 and 2,4 into table.
这意味着 ,
导致了问题。检查未用作定界符。
在平面文件连接管理器中,转到高级选项卡,select 列并更改列分隔符 属性。
如果是行中的最后一列,将分隔符更改为{CRLF}
。
如果文件中有很多列并且分隔符是逗号 ,
那么您必须将其替换为 .
或使用添加文本限定符。
解决方法
如果仍然不起作用,请将列类型更改为 DT_STR
,然后在 Data flow task
中添加一个派生列,将 ,
替换为 ,
并进行转换值为十进制。示例:
(DT_DECIMAl,2)REPLACE([COLUMN], ",", ".")