DataCommand.DeriveSchema (Método)
Deriva el esquema devuelto por un comando especificado, indicando el diseño de los elementos y de bloques en un lector de datos.
Espacio de nombres: Microsoft.VisualStudio.Data
Ensamblado: Microsoft.VisualStudio.Data (en Microsoft.VisualStudio.Data.dll)
Sintaxis
'Declaración
Public Overridable Function DeriveSchema ( _
command As String, _
commandType As Integer, _
parameters As DataParameter(), _
commandTimeout As Integer _
) As DataReader
public virtual DataReader DeriveSchema(
string command,
int commandType,
DataParameter[] parameters,
int commandTimeout
)
public:
virtual DataReader^ DeriveSchema(
String^ command,
int commandType,
array<DataParameter^>^ parameters,
int commandTimeout
)
abstract DeriveSchema :
command:string *
commandType:int *
parameters:DataParameter[] *
commandTimeout:int -> DataReader
override DeriveSchema :
command:string *
commandType:int *
parameters:DataParameter[] *
commandTimeout:int -> DataReader
public function DeriveSchema(
command : String,
commandType : int,
parameters : DataParameter[],
commandTimeout : int
) : DataReader
Parámetros
- command
Tipo: System.String
Un comando para que se deriva el específico del esquema al origen de datos.
- commandType
Tipo: System.Int32
El tipo de comando para el comando indicado, especificando cómo interpretar el contenido del parámetro de command .
- parameters
Tipo: array<Microsoft.VisualStudio.Data.DataParameter[]
Una matriz de DataParameter se opone para el tipo de comando especificado.Aunque esto es un parámetro de entrada, el proveedor de DDEX todavía puede establecer propiedades en individuales out y parámetros de valor devuelto.Sin embargo, estos no se rellenan al derivar el esquema.
- commandTimeout
Tipo: System.Int32
El tiempo, en segundos, de bloquear el cliente antes de cancelar la derivación de esquema y volver al llamador.Un valor de 0 indica que el tiempo de espera infinito; el valor -1 indica un valor predeterminado del proveedor.
Valor devuelto
Tipo: Microsoft.VisualStudio.Data.DataReader
Devuelve un objeto DataReader.Este objeto proporciona una secuencia de datos adelantada - solo, de solo lectura que describe el diseño de los elementos y de bloques, es decir, el esquema, para el objeto de lector devuelto sobre cómo ejecutar el comando especificado.
Excepciones
Excepción | Condición |
---|---|
ArgumentNullException | El comando o los asyncCommandEvents es null. |
ArgumentException | El commandType especifica un tipo no válido. |
ArgumentOutOfRangeException | El commandTimeout es menor que -1. |
NotSupportedException | El proveedor no admite este método. |
Comentarios
El esquema del lector de datos devuelto por este método debe seguir un formato concreto.Para cada resultado que sería devuelto al ejecutar el comando, debe haber un resultado en el lector de datos.Cada uno de estos resultados debe contener bloques que describen los elementos que se devolverían al ejecutar el comando.La descripción debe contener los siguientes elementos:
Nombre (cadena): el nombre del elemento.
Ordinal (Int32): la posición del elemento.
UserDataType (cadena): el tipo de datos de usuario del elemento (por ejemplo, “myType”).
NativeDataType (cadena): el tipo de datos nativo de elemento (por ejemplo, “nvarchar”).
ProviderDataType (Int32): el tipo de datos de proveedor de elemento (por ejemplo, System.Data.DbType.StringFixedLength).
FrameworkDataType (tipo): el tipo de datos de elemento (por ejemplo, System.Int32).
Length (Int32): la longitud máxima de un elemento, si es necesario.
Precisión (Int32): la precisión de un elemento, si es necesario.
Escala (Int32): la escala de un elemento, si es necesario.
Valores NULL (boolean): la nulabilidad de un elemento.
Los elementos que un proveedor no admite (por ejemplo, algunas formas del tipo de datos) deben estar presentes pero establecidos en nullreferencia null (Nothing en Visual Basic).
[!NOTA]
Otras excepciones que aparecen indican que la derivación de parámetro falla por un motivo proveedor- especificada.
Seguridad de .NET Framework
- Plena confianza para el llamador inmediato. Un código de confianza parcial no puede utilizar este miembro. Para obtener más información, vea Utilizar bibliotecas de código que no es de plena confianza.