我已经连接了流分析作业以从IoT中心获取数据并将其写入Azure SQL数据库。
我正在遇到一个输入字段,即日期/时间对象'2019-07-29T01:29:27.6246594Z',它似乎总是导致outputDataConversionError.typeconversionerror-
[11:59:20 AM] Source 'eventssqldb' had 1 occurrences of kind 'OutputDataConversionError.TypeConversionError' between processing times '2019-07-29T01:59:20.7382451Z' and '2019-07-29T01:59:20.7382451Z'.
输入数据示例(SourceEventTime是问题 - 其他DateTime字段也失败(。
{
"eventtype":"gamedata",
"scoretier":4,
"aistate":"on",
"sourceeventtime":"2019-07-28T23:59:24.6826565Z",
"EventProcessedUtcTime":"2019-07-29T00:13:03.4006256Z",
"PartitionId":1,
"EventEnqueuedUtcTime":"2019-07-28T23:59:25.7940000Z",
"IoTHub":{"MessageId":null,"CorrelationId":null,"ConnectionDeviceId":"testdevice","ConnectionDeviceGenerationId":"636996260331615896","EnqueuedTime":"2019-07-28T23:59:25.7670000Z","StreamId":null}
}
Azure SQL DB中的目标字段是DateTime2,并且可以使用同一家服务器上的查询成功地通过Azure SQL DB成功转换输入值。
我尝试了许多不同的技术,包括在流分析上进行铸造,并更改流分析作业的兼容性级别无济于事。
使用数据分析中数据转储测试查询也没有任何错误。
我有相同的数据编写对表存储的罚款,但需要更改为Azure SQL DB,以启用较短的自动化功率BI刷新周期。
我尝试了多个流分析作业,并且每次都可以使用Azure SQL dB重新创建。
事实证明,这似乎是在Azure Portal中显示的缓存错误消息。
通过审查详细日志的进一步调查,似乎另一个值太长,对于目标SQL DB字段(即将被截断(是故障的实际来源。解决此问题删除了错误。