Я использую SodaClient для получения информации из частного набора данных в Сократе, используя следующий код.Большие запросы soql (более 5000 символов) для socrata не поддерживают
var records = (dynamic)null;
string searchCondition = "column1='something'AND (column2='something' OR 'somethingelse') ";
var clientExport = new SodaClient("host name", "app token", "username","password");
var dataset = clientExport.GetResource<modelname>("resourceid");
var offset = 0;
var limit = 1000;
var soql = new SoqlQuery().Where(searchCondition).Offset(offset).Limit(limit);
records = dataset.Query<modelname>(soql).ToList();
return records;
Проблема заключается в том, что иногда «searchCondition» может быть очень большим, скажем более 5000 символов, то Sodaclient возвращается сообщение об ошибке.
Как отправить большие запросы soql в socrata? Я также попытался получить информацию с помощью метода callclients restful calls, но он также показывал такие ошибки.
Произошла ошибка при отправке запроса. Сервер совершил нарушение протокола . Раздел = ResponseStatusLine
Существует столбец «Категория», который имеет 160 выдающихся значений. Для поиска этого я использую следующий запрос – Nachikethas
Существует столбец «Категория», который имеет 160 выделенных значений. Чтобы искать это поле вместе с другими столбцами, я использую следующий запрос: https: //host/resource/xxxx-xxx.json? $ Where = (Category = 'value1' OR Category = 'value2' OR Category = 'value3') AND SubCatagory = 'value1'. Обратите внимание, что я не могу использовать функциональность IN (..) в этом наборе данных, потому что он является производным, как вы сказали ранее для моего вопроса. Поэтому мне приходится ретранслировать по методу OR. – Nachikethas