Ошибка строки OData и проблема с форматами даты - PullRequest
0 голосов
/ 25 марта 2019

Я пытаюсь получить данные, чтобы преуспеть с OData.Когда я использую ссылку ниже, она работает нормально: http://xts/odata/AuditAggregationOdata или http://xts/odata/AuditAggregationOdata/?$filter=(ObjectId%20eq%2041143%20)

Но когда я пытаюсь использовать некоторый диапазон дат или функцию с датой, это не работает.Я пытаюсь написать все, но без правильного результата:

1.http://xts/odata/AuditAggregationOdata/?$filter=year(FirstRead)%20eq%202016

Сообщение об ошибке: не удается подключиться. При попытке подключения возникла ошибка. Подробности: "Microsoft.Mashup.Engine1.Library.Resources.HttpResource: запрос не выполнен: версия OData: 3 и 4, ошибка:Удаленный сервер возвратил ошибку: (500) Внутренняя ошибка сервера. (Исключение было вызвано целью вызова.) Версия OData: 4, Ошибка: Удаленный сервер возвратил ошибку: (500) Внутренняя ошибка сервера. (ВнутренняяОшибка сервера) Версия OData: 3, ошибка: удаленный сервер возвратил ошибку: (500) Внутренняя ошибка сервера. (Исключение было вызвано целью вызова.) "

Или этот

2.http://xts/odata/AuditAggregationOdata/?$filter=(FirstRead%20gt%20datetime%272019-01-01T00:00:00Z%27%20and%20FirstRead%20lt%20datetime%272019-01-03T00:00:00Z%27)

Сообщение об ошибке: Сведения: "Microsoft.Mashup.Engine1.Library.Resources.HttpResource: запрос не выполнен: версия OData: 3 и 4, ошибка: удаленный сервер возвратил ошибку: (400) ошибкаЗапрос. (Запрос, указанный в URI, недопустим. Обнаружен двоичный оператор с несовместимыми типами. Найдены типы операндов 'Edm.DateTimeOffset' и 'Edm.DateTime' для вида оператора 'GreaterThan'.) Версия OData: 4, ошибка: Удаленный сервер возвратил ошибку: (500) Внутренняя ошибка сервера. (Внутренняя ошибка сервера) Версия OData: 3, Ошибка: Удаленный сервер вернул ошибку: (400) Неверный запрос. (Запрос, указанный в URI, недопустимОбнаружен бинарный оператор с несовместимыми типами. Найдены типы операндов 'Edm.DateTimeOffset' и 'Edm.DateTime' для вида оператора 'GreaterThan'.) "

Примечание: Свойство Name =" FirstRead "Type ="Edm.DateTimeOffset "/

Спасибо

1 Ответ

0 голосов
/ 09 мая 2019

Кажется, это внутренняя ошибка сервера.

Когда я пробовал другой объект, но с теми же условиями, он работал нормально. Я поставил правильное решение ниже:

http://xts/odata/ProfileData(path='Odata_test%7Codata_test')?$filter=year(From)%20eq%202019

http://xts/odata/ProfileData(path='Odata_test%7Codata_test')?$filter=From%20ge%20datetimeoffset%272016-01-01%27%20and%20From%20lt%20datetimeoffset%272020-01-01%27
...