Proficy Historian Client Access API
Proficy.Historian.ClientAccess.API Namespace / IArchives Interface / Query Method
Query details.
Query results.
Name of the data store to query files from.
Example



In This Topic
    Query Method (IArchives)
    In This Topic
    Retrieve a list of archives in a Historian server matching an archive name wildcard expression.

    For large servers clients can optionally rely on large message sizes or result-paging or a combination of both to retrieve properties for a large number of archives. Maximum message size is straight-forward and controlled by ConnectionProperties.MaxReceivedMessageSize - it must be matched on both client and server.

    Result-paging enables large result sets to be retrieved across multiple server requests with timing and size controlled by the client. The number of results retrieved per request is controlled via the query's PageSize property. To utilize result-paging, specify a non-zero PageSize and continue calling the same query while the return code is true to retrieve all results from a server. To protect the server and limit excessive server-memory utilization initiating a second query without first retrieving all results for a first query generates a fault.

    Syntax
    'Declaration
     
    Function Query( _
       ByRef query As ArchiveQueryParams, _
       ByRef archives As List(Of Archive), _
       Optional ByVal datastoreName As String _
    ) As Boolean
    'Usage
     
    Dim instance As IArchives
    Dim query As ArchiveQueryParams
    Dim archives As List(Of Archive)
    Dim datastoreName As String
    Dim value As Boolean
     
    value = instance.Query(query, archives, datastoreName)
    bool Query( 
       ref ArchiveQueryParams query,
       out List<Archive> archives,
       string datastoreName
    )

    Parameters

    query
    Query details.
    archives
    Query results.
    datastoreName
    Name of the data store to query files from.

    Return Value

    Whether additional results remain available on server.
    Example
    ArchiveQueryParams query = new ArchiveQueryParams();
    List<Archive> list = new List<Archive>(), temp = null;
                  
    // simple query
    connection.IArchives.Query(ref query, out list);
                  
    // paged query
    list.Clear();
    query.PageSize = 100; // return at most 100 results per request
    while (connection.IArchives.Query(ref query, out temp))
      list.AddRange(temp);
    list.AddRange(temp);
    Requirements

    Target Platforms: Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

    See Also