OData字符串错误和日期格式问题

时间:2019-03-25 14:12:54

标签: filter connection odata

我尝试使用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)Internal Server Error。 (调用的目标已引发异常。) 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中指定的查询无效。检测到类型不兼容的二进制运算符。对于运算符类型'GreaterThan',找到了操作数类型'Edm.DateTimeOffset'和'Edm.DateTime'。) OData版本:4,错误:远程服务器返回错误:(500)内部服务器错误。 (内部服务器错误) OData版本:3,错误:远程服务器返回错误:(400)错误的请求。 (在URI中指定的查询无效。检测到类型不兼容的二进制运算符。为运算符类型“ GreaterThan”找到了操作数类型“ Edm.DateTimeOffset”和“ Edm.DateTime”。)”

注意: 属性名称=“ FirstRead”类型=“ Edm.DateTimeOffset” /

谢谢

1 个答案:

答案 0 :(得分:0)

这似乎是服务器内部错误。

当我尝试使用不同的实体但条件相同时,它运行良好。我将正确的解决方案放在下面:

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