SQL Сервер Polybase | Космос Документ БД Дата конвертации - PullRequest
0 голосов
/ 21 января 2020

Я новичок в polybase. Я связал свой сервер SQL 2019 с третьим лицом Azure cosmos, и я могу запрашивать данные из своей коллекции. Я получаю сообщение об ошибке, когда я пытаюсь запросить поля даты, хотя. В документах даты определены как:

"created" : {
    "$date" : 1579540834768
},

В моей внешней таблице столбец определен как

[created] DATE,

Я попытался создать столбец как int и nvarchar (128 ) но схема обнаружения отклоняет его каждый раз. (Я пытался создать поле create_date, но обнаружение схемы также не согласилось с тем, что это правильно.

Когда я пытаюсь выполнить запрос, который возвращает любое из полей даты, я получаю эту ошибку:

Msg 105082, Level 16, State 1, Line 8
105082;Generic ODBC error: [Microsoft][Support] (40460) Fractional data truncated while performing conversion. .
OLE DB provider "MSOLEDBSQL" for linked server "(null)" returned message "Unspecified error".
Msg 7421, Level 16, State 2, Line 8
Cannot fetch the rowset from OLE DB provider "MSOLEDBSQL" for linked server "(null)". .

Это происходит, если я пытаюсь исключить нулевые значения в своем запросе - даже при фильтрации по указанным c записям, в которых указана дата (проверено с помощью интерфейса портала Azure)

Есть ли что-то, что я должен делать для обработки целочисленной даты из записей json или другого типа, который я могу использовать, чтобы заставить работать мою внешнюю таблицу?

1 Ответ

0 голосов
/ 21 января 2020

Нашел решение. SQL Сервер рекомендует неверный тип для дат mongodb в схеме. Использование DateTime2 решило проблему. Нашел это на странице отображения типа polybase в msdn.

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