08p01: неверный формат сообщения - PullRequest
0 голосов
/ 12 октября 2019

В конвейере Azure ADF v2 я пытаюсь скопировать данные с сервера sql в базу данных Azure postgresql. Мой источник - сервер sql, а мой приемник - база данных Azure postgresql. Я перемещаю все записи из моей исходной таблицы в таблицу назначения. Однако при выполнении конвейера возникает ошибка:

"errorcode": "2200", "message": "type = npgsql.postgresexception, message = 08p01: неверный формат сообщения", "faulttype": "usererror.

В чем проблема?

Ответы [ 2 ]

0 голосов
/ 25 октября 2019

Я столкнулся с этой проблемой сам. Вам нужно изменить «Размер записи» с 1000 на меньшее значение (например, 1000) согласно моему ответу здесь. https://stackoverflow.com/a/58558726/10393844

0 голосов
/ 18 октября 2019

«errorcode»: «2200», «message»: «type = npgsql.postgresexception, message = 08p01: неверный формат сообщения», «failtype»: «usererror.

Вы можете найти некоторые подсказки в этом старом случае , которое похоже на вашу трассировку ошибок. См. Решение в приведенной выше ссылке: https://github.com/npgsql/npgsql/issues/189#issuecomment-67001166

В основном, если строказначение, которое мы пытаемся сохранить с помощью Npgsql, было получено из MemoryStream.GetBuffer (), оно взорвется, но если оно получено из MemoryStream.ToArray (), оно будет работать нормально.

Это объяснено в официальном document :

Обратите внимание, что буфер содержит выделенные байты, которые могут быть неиспользованы. Например, если строка «test» записана в объект MemoryStream, длина буфера, возвращаемого из GetBuffer, равна 256, а не 4, с неиспользованными 252 байтами. Чтобы получить только данные в буфере, используйте метод ToArray, однако ToArray создает копию данных в памяти.

На данный момент в качестве обходного пути вы можете использоватьCSV-файл, чтобы бытьпосредник. Передача данных с сервера SQL в файлы CSV в хранилище BLOB-объектов Azure. Затем перенесите данные в базу данных postgresql назначения.

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