我正在尝试学习 Azure IoT。我正在尝试将 MQTT 消息发送到 IoT 中心。在 IoT 中心,我使用流分析将数据输出到 SQL 数据库中。但目前在流分析输出中,我遇到此错误:
[9:12:30 AM] Source 'OUTPUTSQL' had 1 occurrences of kind 'OutputDataConversionError.TypeConversionError' between processing times '2019-05-23T01:12:30.5631321Z' and '2019-05-23T01:12:30.5631321Z'.
这是我要保存的数据
{"ActionBy":"admin","ActionDate":"2019-05-22T16:00:00.0000000","Topic":"IoT","Message":"Hello World","QoS":"1","EventProcessedUtcTime":"2019-05-23T00:19:31.8287610Z","PartitionId":0,"EventEnqueuedUtcTime":"2019-05-23T00:19:31.7170000Z","IoTHub":{"MessageId":null,"CorrelationId":null,"ConnectionDeviceId":"hartaMQTT-Device01","ConnectionDeviceGenerationId":"636936650733289038","EnqueuedTime":"2019-05-23T00:19:31.6820000Z","StreamId":null}}
我认为错误出在 IoTHub 部分。
这是我尝试保存的 Azure Sql Server 中的表:
CREATE TABLE [dbo].[IoTMQTT](
[EventID] [bigint] IDENTITY(1,1) NOT NULL,
[ActionBy] [nvarchar](400) NOT NULL,
[ActionDate] [datetime] NOT NULL,
[Topic] [nvarchar](400) NULL,
[Message] [nvarchar](400) NULL,
[QoS] [nvarchar](400) NULL,
[EventProcessedUtcTime] [datetime] NULL,
[PartitionId] [nvarchar](400) NULL,
[EventEnqueuedUtcTime] [datetime] NULL,
[IoTHub] [nvarchar](max) NULL,
)
有什么问题吗?是数据类型吗?请帮我。谢谢!
最佳答案
Azrue SQL 数据库可以将“2019-05-23T00:19:31.8287610Z”转换为 datetime2
、 smalldatetime
、time
、日期
,日期时间
除外。这是错误按摩:
请修改您的表格,将 ActionDate、EventProcessedUtcTime、EventEnqueuedUtcTime 列更改为 datetime2
。
希望这有帮助。
关于sql-server - 从 Azure 流分析将数据插入 Azure SQL 数据库表时出现“OutputDataConversionError.TypeConversionError”,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56267217/