Conjunto de linhas DBSCHEMA_PROVIDER_TYPES
Identifica os tipos de dados (base) suportados pelo provedor de dados.
Colunas do conjunto de linhas
O conjunto de linhas DBSCHEMA_PROVIDER_TYPES contém as colunas a seguir.
Nome da coluna |
Indicador de tipo |
Comprimento |
Descrição |
---|---|---|---|
TYPE_NAME |
DBTYPE_WSTR |
O nome de tipo de dados específico do provedor. |
|
DATA_TYPE |
DBTYPE_UI2 |
O indicador do tipo de dados. |
|
COLUMN_SIZE |
DBTYPE_UI4 |
O comprimento de uma coluna não numérica ou parâmetro que se refere ao máximo ou ao comprimento definido para esse tipo pelo provedor. Para dados de caracteres, esse é o máximo ou o comprimento definido em caracteres. Para tipos de dados DateTime, esse é o comprimento da representação de cadeia de caracteres (supondo que o máximo permitiu a precisão do componente em frações de segundo). Se o tipo de dados for numérico, esse será o limite superior na precisão máxima do tipo de dados. |
|
LITERAL_PREFIX |
DBTYPE_WSTR |
O caractere ou caracteres usados para prefixar um literal deste tipo em um comando de texto. |
|
LITERAL_SUFFIX |
DBTYPE_WSTR |
O caractere ou caracteres usados para sufixar um literal deste tipo em um comando de texto. |
|
CREATE_PARAMS |
DBTYPE_WSTR |
Os parâmetros de criação especificados pelo consumidor ao criar uma coluna deste tipo de dados. Por exemplo, o tipo de dados de SQL, DECIMAL, requer uma precisão e uma escala. Nesse caso, os parâmetros de criação devem ser a cadeia de caracteres "precisão, escala". Em um comando de texto, para criar uma coluna DECIMAL com uma precisão de 10 e uma escala de 2, o valor da coluna TYPE_NAME seria DECIMAL() e a especificação de tipo completa seria DECIMAL(10,2). Os parâmetros de criação aparecem como uma lista de valores separados por vírgulas, na ordem em que eles serão fornecidos e sem parênteses. Se um parâmetro de criação for comprimento, comprimento máximo, precisão, escala, semente ou incremento, use "comprimento", "comprimento máximo", "precisão", "escala", "semente" e "incremento", respectivamente. Se o parâmetro de criação for algum outro valor, o provedor determinará que texto será usado para descrever o parâmetro de criação. Quando o tipo de dados requer parâmetros de criação, "()" costuma aparecer no nome de tipo. Isso indica a posição na qual os parâmetros de criação devem ser inseridos. Quando o nome de tipo não inclui "()", os parâmetros de criação estar entre parênteses e anexados ao nome de tipo de dados. |
|
IS_NULLABLE |
DBTYPE_BOOL |
Um Booleano que indica se o tipo de dados permite valores nulos. VARIANT_TRUE indica que o tipo de dados permite valores nulos. VARIANT_FALSE indica que o tipo de dados não permite valores nulos. NULL indica que é desconhecido se o tipo de dados permite valores nulos. |
|
CASE_SENSITIVE |
DBTYPE_BOOL |
Um Booleano que indica se o tipo de dados é um tipo de caracteres e se diferencia maiúsculas de minúsculas. VARIANT_TRUE indica que o tipo de dados é um tipo de caracteres e que diferencia maiúsculas de minúsculas. VARIANT_FALSE indica que o tipo de dados não é um tipo de caracteres ou que não diferencia maiúsculas de minúsculas. |
|
SEARCHABLE |
DBTYPE_UI4 |
Um inteiro que indica como o tipo de dados poderá ser usado em pesquisas se o provedor der suporte ao ICommandText; caso contrário, NULL. Esta coluna pode ter os seguintes valores:
|
|
UNSIGNED_ATTRIBUTE |
DBTYPE_BOOL |
Um Booleano que indica se o tipo de dados é não assinado. VARIANT_TRUE indica que o tipo de dados é não assinado. VARIANT_FALSE indica que o tipo de dados é assinado. NULL indica que isso não é aplicável ao tipo de dados. |
|
FIXED_PREC_SCALE |
DBTYPE_BOOL |
Um Booleano que indica se o tipo de dados tem uma precisão e uma escala fixas. VARIANT_TRUE indica que o tipo de dados tem uma precisão e uma escala fixas. VARIANT_FALSE indica que o tipo de dados não tem uma precisão e uma escala fixas. |
|
AUTO_UNIQUE_VALUE |
DBTYPE_BOOL |
Um Booleano que indica se o tipo de dados é incrementado automaticamente. VARIANT_TRUE indica que valores deste tipo podem ser incrementados automaticamente. VARIANT_FALSE indica que valores deste tipo não podem ser incrementados automaticamente. Se esse valor for VARIANT_TRUE, para determinar se uma coluna desse tipo sempre será incrementada automaticamente, verifique a propriedade da coluna DBPROP_COL_AUTOINCREMENT do provedor. Se a propriedade de DBPROP_COL_AUTOINCREMENT for de leitura/gravação, para determinar se uma coluna desse tipo será incrementada automaticamente, verifique a configuração da propriedade de DBPROP_COL_AUTOINCREMENT. Se DBPROP_COL_AUTOINCREMENT for uma propriedade somente leitura, todas as colunas ou nenhuma coluna desse tipo será incrementada automaticamente. |
|
LOCAL_TYPE_NAME |
DBTYPE_WSTR |
A versão localizada de TYPE_NAME. NULL é retornada quando o provedor de dados não oferece suporte ao nome localizado. |
|
MINIMUM_SCALE |
DBTYPE_I2 |
Se o indicador de tipo for DBTYPE_VARNUMERIC, DBTYPE_DECIMAL ou DBTYPE_NUMERIC, o número mínimo de dígitos permitidos à direita do separador decimal. Caso contrário, NULL. |
|
MAXIMUM_SCALE |
DBTYPE_I2 |
O número máximo de dígitos permitidos à direita do separador decimal quando o indicador de tipo é DBTYPE_VARNUMERIC, DBTYPE_DECIMAL ou DBTYPE_NUMERIC; caso contrário, NULL. |
|
GUID |
DBTYPE_GUID |
(Para uso futuro) O GUID do tipo, se o tipo for descrito em uma biblioteca de tipos. Caso contrário, NULL. |
|
TYPELIB |
DBTYPE_WSTR |
(Para uso futuro) A biblioteca de tipos que contém a descrição do tipo, se o tipo for descrito em uma biblioteca de tipos. Caso contrário, NULL. |
|
VERSION |
DBTYPE_WSTR |
(Para uso futuro) A versão da definição de tipo. Talvez os provedores queiram obter definições de tipo de versão. Provedores diferentes podem usar esquemas de controle de versão diferentes, tais como um carimbo de data/hora ou número (inteiro ou float). NULL se não tiver suporte. |
|
IS_LONG |
DBTYPE_BOOL |
Um Booleano que indica se o tipo de dados é um objeto binário grande (BLOB) e se tem dados muito longos. VARIANT_TRUE indica que o tipo de dados é um BLOB que contém dados muito longos; a definição de dados muito longos é específica do provedor. VARIANT_FALSE indica que o tipo de dados é um BLOB que não contém dados muito longos ou não é um BLOB. Este valor determina a configuração do sinalizador DBCOLUMNFLAGS_ISLONG retornada por GetColumnInfo em IColumnsInfo e GetParameterInfo em ICommandWithParameters. |
|
BEST_MATCH |
DBTYPE_BOOL |
Um Booleano que indica se o tipo de dados é a melhor correspondência. VARIANT_TRUE indica que o tipo de dados é a melhor correspondência entre todos os tipos de dados do armazenamento de dados e o tipo de dados OLE DB indicado pelo valor na coluna DATA_TYPE. VARIANT_FALSE indica que o tipo de dados não é a melhor correspondência. Para cada conjunto de linhas no qual o valor da coluna DATA_TYPE for idêntico, a coluna BEST_MATCH será definida como VARIANT_TRUE em apenas uma linha. |
|
IS_FIXEDLENGTH |
DBTYPE_BOOL |
Um Booleano que indica se a coluna tem um comprimento fixo. VARIANT_TRUE indica que colunas deste tipo criadas pela linguagem de definição de dados (DDL) terão um comprimento fixo. VARIANT_FALSE indica que colunas deste tipo, criadas pela DDL, terão comprimento variável. Se o campo for NULL, será desconhecido se o provedor mapeará esse campo com uma coluna de comprimento fixo ou variável. |
O conjunto de linhas é classificado em DATA_TYPE.
Colunas de restrição
O conjunto de linhas DBSCHEMA_PROVIDER_TYPES pode ser restringido nas colunas listadas na tabela a seguir.
Nome da coluna |
Indicador de tipo |
Estado de restrição |
---|---|---|
DATA_TYPE |
DBTYPE_UI2 |
|
BEST_MATCH |
DBTYPE_BOOL |