Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 在SSIS中转换数据类型_Sql_Sql Server_Ssis_Ssis Data Types - Fatal编程技术网

Sql 在SSIS中转换数据类型

Sql 在SSIS中转换数据类型,sql,sql-server,ssis,ssis-data-types,Sql,Sql Server,Ssis,Ssis Data Types,我得到一个输入CSV文件,我必须上传到我的oracle数据库 下面是一些示例数据 ContractId, Date, HourEnding, ReconciledAmount 13860,"01-mar-2010",1,-.003 13860,"01-mar-2010",2,.923 13860,"01-mar-2010",3,2.542 我必须将传入列转换为DB_TIMESTAMP(以匹配目标表中的结构) 但是当我使用数据转换进行转换时,会出现一个错误 将列“日期”(126)转换为列“日期”

我得到一个输入CSV文件,我必须上传到我的oracle数据库

下面是一些示例数据

ContractId, Date, HourEnding, ReconciledAmount
13860,"01-mar-2010",1,-.003
13860,"01-mar-2010",2,.923
13860,"01-mar-2010",3,2.542
我必须将传入列转换为DB_TIMESTAMP(以匹配目标表中的结构)

但是当我使用
数据转换
进行转换时,会出现一个错误

将列“日期”(126)转换为列“日期”(496)时,数据转换失败。转换返回状态值2和状态文本“由于数据可能丢失,无法转换该值。


如何正确转换此数据?

问题在于文件中的引号[]。 您应该从文件中删除它们,或者在
数据转换
组件之前添加一个
派生列
,以删除带有表达式的


替换([TextDateColumn],“\”,”)

问题在于文件中的引号[]。 您应该从文件中删除它们,或者在
数据转换
组件之前添加一个
派生列
,以删除带有表达式的


替换([TextDateColumn],“\”,”)

在这种情况下,您可以将平面文件连接中的文本限定符更改为单双引号(“)

这将导致SSI解释

13860,"01-mar-2010",1,-.003
作为


此外,如果数据中的任何嵌入逗号也使用引号,则还可以捕获这些逗号。

在这种情况下,您可以将平面文件连接中的文本限定符更改为单双引号(“)

这将导致SSI解释

13860,"01-mar-2010",1,-.003
作为

这还增加了一个额外的好处,即如果数据中的任何嵌入逗号也带有引号,则可以捕获它们