Cette rubrique explique comment utiliser le SDK Tablestore pour .NET afin d'interroger des données en exécutant des instructions SQL.
Notes d'utilisation
Les requêtes SQL sont prises en charge à partir de la version 5.0.0 du SDK Tablestore pour .NET. Assurez-vous d'avoir installé une version compatible du SDK.
Pour plus d'informations, consultez l'Historique des versions du SDK Tablestore pour .NET.
Prérequis
Initialisez un client. Pour plus d'informations, consultez la rubrique Initialiser un client Tablestore.
Créez une table de mappage pour la table dans laquelle vous souhaitez interroger les données. Pour plus d'informations, consultez la rubrique Créer une table de mappage.
Exemple
L'exemple suivant montre comment utiliser l'instruction select pk0,pk1,col0,col1,date_col,geo_col from test_table limit 20 pour interroger les données de la table test_table et renvoyer au maximum 20 lignes. Le système renvoie le type de requête, le schéma de la valeur de retour ainsi que les résultats obtenus.
/// <summary>
/// Query data.
/// </summary>
/// <param name="otsClient"></param>
public static void QueryData(OTSClient otsClient)
{
SQLQueryRequest sqlQueryRequest = new SQLQueryRequest("select pk0,pk1,col0,col1,date_col,geo_col from test_table limit 20");
SQLQueryResponse sqlQueryResponse = otsClient.SQLQuery(sqlQueryRequest);
SQLTableMeta sqlTableMeta = sqlQueryResponse.GetSQLResultSet().GetSQLTableMeta();
Console.WriteLine(JsonConvert.SerializeObject(sqlTableMeta.GetSchema()));
ISQLResultSet resultSet = sqlQueryResponse.GetSQLResultSet();
while (resultSet.HasNext())
{
ISQLRow row = resultSet.Next();
Console.WriteLine(row.GetString("pk0") + " , " + row.GetLong("pk1") + " , " + row.GetString("col0") + " , " +
row.GetLong("col1") + " , " + row.GetString("date_col") + " , " + row.GetString("geo_col"));
}
}
FAQ
Que faire en cas de latence des données lors de l'exécution de requêtes SQL ?
[Que faire si l'erreur « length of field value is longer than 32 for the [WILDCARD_QUERY] query » se produit lors de l'utilisation d'une requête avec caractères génériques ?](t1914484.xdita#)Que faire si l'erreur « length of field value is longer than 32 for the [WILDCARD_QUERY] query » survient lors de l'utilisation d'une requête avec caractères génériques ?