csv - 通过 SSIS 将 datetimeoffset 从 csv 文件导入表的问题
问题描述
我有一个 csv 作为源文件,我正在尝试将此文件中的数据加载到暂存 SQL 服务器表中。有三个日期列。下面是这些列的值的示例:
2007-10-02T08:46:13+02:00
在 SQL 服务器端,我已定义datetimeoffset(7)
为数据类型,并在 SSIS 连接管理器中选择database timestamp with timezone [DT_DBTIMESTAMPOFFSET]
了数据类型。但是我在导入日期时间列时遇到以下错误:
数据转换失败。列“column1”的数据转换返回状态值 2 和状态文本“由于可能丢失数据,无法转换该值。”。
错误:数据流任务中的 0xC0209029,平面文件源 [2]:SSIS 错误代码 DTS_E_INDUCEDTRANSFORMFAILUREONERROR。“Flat File Source.Outputs[Flat File Source Output].Columns[column1]”失败,因为发生错误代码 0xC0209084,并且“Flat File Source.Outputs[Flat File Source Output].Columns[column1]”上的错误行处置指定错误失败。指定组件的指定对象发生错误。在此之前可能会发布错误消息,其中包含有关失败的更多信息。错误:数据流任务中的 0xC0202092,
平面文件源 [2]:在数据行 2 上处理文件“\path to file.csv”时出错。错误:0xC0047038 在数据流任务,SSIS.Pipeline:SSIS 错误代码 DTS_E_PRIMEOUTPUTFAILED。平面文件源上的 PrimeOutput 方法返回错误代码 0xC0202092。当管道引擎调用 PrimeOutput() 时,组件返回了失败代码。失败代码的含义由组件定义,但错误是致命的并且管道停止执行。在此之前可能会发布错误消息,其中包含有关失败的更多信息。
你如何解决它?或者为什么我会收到这个错误?
解决方案
首先尝试将其加载为字符串(长度为 25 左右),然后尝试使用 ssis 中的转换列对其进行子字符串化,然后您可以尝试将其转换为另一个转换列中的日期时间数据类型,然后再加载到您的表中。
推荐阅读
- pyomo - Pyomo - Gurobi Persistent - 在求解之间更改参数值
- python - 张量板如何绘制比最后一步更多的评估?
- pdf - FlyingSaucerPdf , 希腊字母, Helvetica
- javascript - 为什么不立即通过 javascript 在 Chrome 中关闭 websocket 连接?
- python - 使用 pyvista 和 pyproj 重新投影 vtu 文件的网格点
- reactjs - 在反应组件中将感叹号作为道具值传递
- node.js - 我如何从passportjs Node js获取数据
- r - `RefManagerR` 是 R 中新的 `citr` 包吗?
- elixir - Ecto:什么是where子句(理解语法)
- google-analytics - GA 4 中的页面查看事件没有 userEngagementDuration 值