J'utilise SodaClient pour obtenir des informations à partir d'un ensemble de données privé dans Socrata en utilisant le code suivant.De grosses requêtes soql (plus de 5000 caractères) à socrata ne supportent pas
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;
Le problème est que parfois le « searchCondition » peut être très grand mot à dire plus de 5000 caractères, le Sodaclient retourne une erreur.
Comment envoyer des requêtes soql volumineuses à socrata? J'ai également essayé d'obtenir des informations en utilisant des appels reposants méthode httpclient, mais il montre également des erreurs comme.
Une erreur s'est produite lors de l'envoi de la demande. Le serveur a commis une violation de protocole . Section = ResponseStatusLine
Il existe une colonne 'Catégorie' qui possède 160 valeurs distinctives. Pour rechercher ceci j'utilise la requête suivante – Nachikethas
Il y a une colonne 'Catégorie' qui a 160 valeurs distinguées. Pour rechercher ce champ avec d'autres colonnes, j'utilise la requête suivante https: //host/resource/xxxx-xxx.json? $ Where = (Category = 'value1' OU Category = 'value2' OU Category = 'value3') AND SubCatagory = 'valeur1'. S'il vous plaît noter que je ne peux pas utiliser la fonctionnalité IN (..) dans cet ensemble de données parce que c'est un dérivé, comme vous l'avez dit plus tôt pour ma question. Donc je dois relayer sur la méthode OR. – Nachikethas