2017-06-05 513 views
0

家伙,导入Excel数据导入SQL Server和转换为DateTime

我在一个Excel文件中得到了一些datetime数据,为SQL Server日期时间转换(YYYY-MM-DD HH适当格式:MM:SS: 000)。不幸的是,当我尝试将数据导入到DateTime类型的SQL领域,我得到这些错误消息:

Error 0xc02020c5: Data Flow Task 1: Data conversion failed while converting column "Datetime" (27) to column "Datetime" (60). The conversion returned status value 2 and status text "The value could not be converted because of a potential loss of data." 

Error 0xc0209029: Data Flow Task 1: SSIS Error Code DTS_E_INDUCEDTRANSFORMFAILUREONERROR. The "Data Conversion 0 - 0.Outputs[Data Conversion Output].Columns[Datetime]" failed because error code 0xC020907F occurred, and the error row disposition on "Data Conversion 0 - 0.Outputs[Data Conversion Output].Columns[Datetime]" specifies failure on error. An error occurred on the specified object of the specified component. There may be error messages posted before this with more information about the failure. 

Error 0xc0047022: Data Flow Task 1: SSIS Error Code DTS_E_PROCESSINPUTFAILED. The ProcessInput method on component "Data Conversion 0 - 0" (52) failed with error code 0xC0209029 while processing input "Data Conversion Input" (53). The identified component returned an error from the ProcessInput method. The error is specific to the component, but the error is fatal and will cause the Data Flow task to stop running. There may be error messages posted before this with more information about the failure. 

Error 0xc02020c4: Data Flow Task 1: The attempt to add a row to the Data Flow task buffer failed with error code 0xC0047020. 

Error 0xc0047038: Data Flow Task 1: SSIS Error Code DTS_E_PRIMEOUTPUTFAILED. The PrimeOutput method on Source - Sheet2$ returned error code 0xC02020C4. The component returned a failure code when the pipeline engine called PrimeOutput(). The meaning of the failure code is defined by the component, but the error is fatal and the pipeline stopped executing. There may be error messages posted before this with more information about the failure. 

什么我做错了任何想法?我特别需要从Excel导入,而不是从CSV导入,因为源文件中存在希伯来语文本,SQL Server拒绝使用CSV导入中提供的任何编码进行识别。

`

+0

日期时间(27)和数据时间(60)似乎是单独的格式。尝试将excel列更改为与您的sql日期格式相匹配的自定义格式日期,这取决于您的语言设置。 – bsivel

+0

excel列的格式当前是自定义日期时间:yyyy-mm-dd hh:mm:ss.000。我应该怎样改变它? –

+0

您可能想在ss和000之间尝试一段时间而不是冒号。如果仍然无法正常工作,可以尝试导入为字符串,然后使用cast()后导入。 – SMM

回答

0

终于完成的工作是完全删除毫秒。