Compartilhar via


IVsDataCommand.DeriveSchema Method (String, DataCommandType, array<IVsDataParameter , Int32)

When implemented by a class, derives the schema returned from a specified command. The schema indicates the layout of items and blocks in a data reader.

Namespace:  Microsoft.VisualStudio.Data.Services.SupportEntities
Assembly:  Microsoft.VisualStudio.Data.Services (in Microsoft.VisualStudio.Data.Services.dll)

Syntax

'Declaration
Function DeriveSchema ( _
    command As String, _
    commandType As DataCommandType, _
    parameters As IVsDataParameter(), _
    commandTimeout As Integer _
) As IVsDataReader
IVsDataReader DeriveSchema(
    string command,
    DataCommandType commandType,
    IVsDataParameter[] parameters,
    int commandTimeout
)
IVsDataReader^ DeriveSchema(
    String^ command, 
    DataCommandType commandType, 
    array<IVsDataParameter^>^ parameters, 
    int commandTimeout
)
abstract DeriveSchema : 
        command:string * 
        commandType:DataCommandType * 
        parameters:IVsDataParameter[] * 
        commandTimeout:int -> IVsDataReader
function DeriveSchema(
    command : String, 
    commandType : DataCommandType, 
    parameters : IVsDataParameter[], 
    commandTimeout : int
) : IVsDataReader

Parameters

  • command
    Type: System.String

    A command for which to derive the schema that is specific to a data source.

  • commandTimeout
    Type: System.Int32

    The length of time, in seconds, to block the client before canceling the schema derivation and returning to the caller. A value of 0 indicates infinite time-out; a value of -1 indicates a provider default.

Return Value

Type: Microsoft.VisualStudio.Data.Services.SupportEntities.IVsDataReader
An IVsDataReader object. This object provides a forward-only, read-only data stream that describes the layout of items and blocks, that is, the schema, for the reader object returned upon executing the specified command.

Remarks

The schema of the data reader returned by this method must follow a specific format. For each result that will be returned when you execute the command, there should be a result in the data reader. Each of these results should contain blocks that describe the items that will be returned when you execute the command. The description should contain the following items:

  • Name (String): the name of the item.

  • Ordinal (Int32): the position of the item.

  • UserDataType (String): the user data type of the item (for example, "myType").

  • NativeDataType (String): the native data type of the item (for example, "nvarchar").

  • ProviderDataType (Int32): the provider data type of the item (for example, System.Data.DbType.StringFixedLength).

  • FrameworkDataType (Type): the framework data type of the item (for example, System.Int32).

  • Length (Int32): the maximum length of the item, if applicable.

  • Precision (Int32): the precision of the item, if applicable.

  • Scale (Int32): the scale of the item, if applicable.

  • Nullable (Boolean): the nullability of the item.

Those items that a provider does not support (for example, some forms of the data type) should be present but set to nulla null reference (Nothing in Visual Basic).

Note

Other exceptions that occur indicate that the parameter derivation failed for a provider-specified reason.

.NET Framework Security

See Also

Reference

IVsDataCommand Interface

DeriveSchema Overload

Microsoft.VisualStudio.Data.Services.SupportEntities Namespace