«OutputDataConversionError.TypeConversionError» при вставке данных в таблицу базы данных SQL Azure из Azure Stream Analytics - PullRequest
1 голос
/ 23 мая 2019

Я пытаюсь изучить Azure IoT.Я пытаюсь отправить сообщение MQTT в IoT Hub.А из центра IoT я использую Streaming Analytics для вывода данных в базу данных SQL.Но в настоящее время в Streaming Analytics Output у меня есть эта ошибка:

[9:12:30 AM] У источника 'OUTPUTSQL' было 1 вхождение вида 'OutputDataConversionError.TypeConversionError' между периодами обработки '2019-05-23T01: 12: 30,5631321Z 'и' 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, которую я пытаюсь сохранить:

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,
)

В чем проблема?Это тип данных?Пожалуйста, помогите мне.Спасибо!

1 Ответ

1 голос
/ 23 мая 2019

База данных SQL Azrue может преобразовывать «2019-05-23T00: 19: 31.8287610Z» в datetime2, smalldatetime, time, date, кроме datetime.Вот массаж ошибок: enter image description here

Согласно вашим данным, я думаю, что тип данных datetime2 лучше всего подходит для вас.enter image description here

Пожалуйста, измените вашу таблицу, измените столбцы ActionDate, EventProcessedUtcTime, EventEnqueuedUtcTime на datetime2.

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...