Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
As coleções de esquema comuns são as coleções de esquema que são implementadas por cada um dos provedores gerenciados do .NET Framework. Você pode consultar um provedor gerenciado do .NET Framework para determinar a lista de coleções de esquema com suporte chamando o GetSchema método sem argumentos ou com o nome da coleção de esquemas "MetaDataCollections". Isso retornará uma DataTable com uma lista de coleções de esquemas compatíveis, o número de restrições ao qual cada uma dá suporte e o número de partes de identificador usado por elas. Essas coleções descrevem todas as colunas necessárias. Os provedores têm liberdade para adicionar colunas adicionais, caso desejem. Por exemplo, SqlClient e OracleClient adicione ParameterName à coleção de restrições.
Se um provedor não puder determinar o valor de uma coluna necessária, ele retornará nulo.
Para obter mais informações sobre como usar os GetSchema métodos, consulte GetSchema e Coleções de Esquemas.
MetaDataCollections
Essa coleção de esquemas expõe informações sobre todas as coleções de esquemas compatíveis com o provedor gerenciado do .NET Framework que atualmente é usado para se conectar ao banco de dados.
| ColumnName | Tipo de dados | Descrição |
|---|---|---|
| Nome da Coleção | cadeia | O nome da coleção a ser passado para o método GetSchema para que a coleção seja retornada. |
| NúmeroDeRestrições | int | O número de restrições que podem ser especificadas para a coleção. |
| NumberOfIdentifierParts | int | O número de partes no nome do objeto de banco de dados/identificador composto. Por exemplo, no SQL Server, isso seria 3 para tabelas e 4 para colunas. No Oracle, seria 2 para tabelas e 3 para colunas. |
DataSourceInformation
Essa coleção de esquemas expõe informações sobre a fonte de dados à qual o provedor gerenciado do .NET Framework está atualmente conectado.
| ColumnName | Tipo de dados | Descrição |
|---|---|---|
| CompositeIdentifierSeparatorPattern | cadeia | A expressão regular usada para corresponder os separadores compostos em um identificador composto. Por exemplo, "\". (para SQL Server) ou "@|\.". (para Oracle). Um identificador composto normalmente é o que é usado para um nome de objeto de banco de dados, por exemplo: pubs.dbo.authors ou pubs@dbo.authors. Para o SQL Server, use a expressão regular "\". Para OracleClient, utilize "@|\.". Para o ODBC, use o Catalog_name_separator. Para OLE DB, use DBLITERAL_CATALOG_SEPARATOR ou DBLITERAL_SCHEMA_SEPARATOR. |
| NomeDoProdutoFonteDeDados | cadeia | O nome do produto acessado pelo provedor, como "Oracle" ou "SQLServer". |
| DataSourceProductVersion | cadeia | Indica a versão do produto acessada pelo provedor, no formato nativo de fontes de dados e não no formato da Microsoft. Em alguns casos, DataSourceProductVersion e DataSourceProductVersionNormalized serão o mesmo valor. No caso de OLE DB e ODBC, eles serão iguais, pois são mapeados para a mesma chamada de função na API nativa subjacente. |
| DataSourceProductVersionNormalized | cadeia | Uma versão normalizada para a fonte de dados, de modo que ela possa ser comparada com String.Compare(). O formato disso é consistente para todas as versões do provedor para impedir que a versão 10 classifique entre a versão 1 e a versão 2.Por exemplo, o provedor Oracle usa um formato de "nn.nn.nn.nn.nn" para sua versão normalizada, o que faz com que uma fonte de dados Oracle 8i retorne "08.01.07.04.01". O SQL Server usa o formato típico "nn.nn.nnnn" da Microsoft. Em alguns casos, DataSourceProductVersion e DataSourceProductVersionNormalized serão o mesmo valor. No caso de OLE DB e ODBC, eles sempre serão iguais, pois são mapeados para a mesma chamada de função na API nativa subjacente. |
| GroupByBehavior | GroupByBehavior | Especifica a relação entre as colunas em uma cláusula GROUP BY e as colunas não agregadas na lista de seleção. |
| IdentifierPattern | cadeia | Uma expressão regular que corresponde a um identificador e tem um valor de correspondência do identificador. Por exemplo, "[A-Za-z0-9_#$]". |
| IdentifierCase | IdentifierCase | Indica se identificadores que não estão entre aspas são tratados como diferenciando maiúsculas de minúsculas. |
| OrderByColumnsInSelect | Bool | Especifica se as colunas em uma cláusula ORDER BY precisam estar na lista de seleção. Um valor verdadeiro indica que eles são necessários para estar na lista de seleção, um valor de false indica que eles não são necessários para estar na lista de seleção. |
| ParameterMarkerFormat | cadeia | Uma cadeia de caracteres de formato que representa como formatar um parâmetro. Se os parâmetros nomeados forem compatíveis com a fonte de dados, o primeiro espaço reservado nessa cadeia de caracteres deverá ser o local em que o nome do parâmetro deve ser formatado. Por exemplo, se a fonte de dados espera que os parâmetros sejam nomeados e prefixados com um ':' isso seria ":{0}". Ao formatar isso com um nome de parâmetro "p1", a cadeia de caracteres resultante é ":p 1". Se a fonte de dados espera que os parâmetros sejam prefixados com o '@', mas os nomes já os incluem, isso seria '{0}', e o resultado da formatação de um parâmetro chamado "@p1" seria simplesmente "@p1". Para fontes de dados que não esperam parâmetros nomeados e esperam o uso do caractere '?', a cadeia de caracteres de formato pode ser especificada como simplesmente '?', o que ignoraria o nome do parâmetro. Para o OLE DB, retornamos '?'. |
| ParameterMarkerPattern | cadeia | Uma expressão regular que corresponde a um marcador de parâmetro. Ele terá um valor de correspondência do nome do parâmetro, se houver. Por exemplo, se houver suporte para parâmetros nomeados com um caractere de entrada '@' que será incluído no nome do parâmetro, isso seria: "(@[A-Za-z0-9_$#]*)". No entanto, se houver suporte para parâmetros nomeados com um ':' como o caractere de entrada e não fizer parte do nome do parâmetro, isso seria: ":([A-Za-z0-9_$#]*)". Claro, se a fonte de dados não der suporte a parâmetros nomeados, isso seria simplesmente "?". |
| ParameterNameMaxLength | int | O tamanho máximo de um nome de parâmetro em caracteres. O Visual Studio espera que, se houver suporte para nomes de parâmetro, o valor mínimo para o tamanho máximo será de 30 caracteres. Se a fonte de dados não der suporte a parâmetros nomeados, essa propriedade retornará zero. |
| ParameterNamePattern | cadeia | Uma expressão regular que corresponde aos nomes de parâmetros válidos. Diferentes fontes de dados têm regras diferentes em relação aos caracteres que podem ser usados para nomes de parâmetro. O Visual Studio espera que, se houver suporte para nomes de parâmetros, os caracteres "\p{Lu}\p{Ll}\p{Lt}\p{Lm}\p{Lo}\p{Nl}\p{Nd}" são o conjunto mínimo de caracteres com suporte válido para nomes de parâmetro. |
| QuotedIdentifierPattern | cadeia | Uma expressão regular que corresponde a um identificador entre aspas e tem um valor de correspondência do próprio identificador sem aspas. Por exemplo, se a fonte de dados usou aspas duplas para identificar identificadores entre aspas, isso seria: "(([^\"]|\"\")*)". |
| QuotedIdentifierCase | IdentifierCase | Indica se os identificadores entre aspas são tratados como diferenciando maiúsculas de minúsculas. |
| StatementSeparatorPattern | cadeia | Uma expressão regular que corresponde ao separador de instrução. |
| StringLiteralPattern | cadeia | Uma expressão regular que corresponde a um literal de cadeia de caracteres e tem um valor de correspondência do próprio literal. Por exemplo, se a fonte de dados usou aspas simples para identificar cadeias de caracteres, isso seria: "('([^']|'')*')"' |
| SupportedJoinOperators | SupportedJoinOperators | Especifica quais tipos de instruções SQL de junção são compatíveis com a fonte de dados. |
Dados
Essa coleção de esquemas expõe informações sobre os tipos de dados compatíveis com o banco de dados ao qual o provedor gerenciado do .NET Framework está conectado no momento.
| ColumnName | Tipo de dados | Descrição |
|---|---|---|
| NomeTipo | cadeia | O nome de tipo de dados específico do provedor. |
| ProviderDbType | int | O valor do tipo específico do provedor que deve ser usado ao especificar o tipo de um parâmetro. Por exemplo, SqlDbType.Money ou OracleType.Blob. |
| ColumnSize | Longas | O comprimento de uma coluna ou parâmetro não numérico refere-se ao máximo ou ao comprimento definido para esse tipo pelo provedor. Para dados de caractere, esse é o máximo ou o tamanho definido em unidades, definido pela fonte de dados. O Oracle tem o conceito de especificar um comprimento e, em seguida, especificar o tamanho real do armazenamento para alguns tipos de dados de caractere. Isso define apenas o comprimento em unidades para Oracle. Para tipos de dados de data/hora, esse é o tamanho da representação de cadeia de caracteres (supondo que o máximo permitiu a precisão do componente em segundos fracionários). Se o tipo de dados for numérico, esse será o limite superior na precisão máxima do tipo de dados. |
| CreateFormat | cadeia | Cadeia de caracteres de formato que representa como adicionar essa coluna a uma instrução de definição de dados, como CREATE TABLE. Cada elemento na matriz CreateParameter deve ser representado por um "marcador de parâmetro" na cadeia de caracteres de formato. Por exemplo, o tipo de dados SQL DECIMAL exige uma precisão e uma escala. Nesse caso, a cadeia de caracteres de formato seria "DECIMAL({0},{1})". |
| CriarParâmetros | cadeia | Os parâmetros de criação que precisam ser especificados ao criar uma coluna desse tipo de dados. Cada parâmetro de criação é listado na cadeia de caracteres, separado por uma vírgula na ordem em que devem ser fornecidos. Por exemplo, o tipo de dados SQL DECIMAL exige uma precisão e uma escala. Nesse caso, os parâmetros de criação devem conter 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 CreateFormat pode ser DECIMAL({0},{1})" e a especificação de tipo completa seria DECIMAL(10,2). |
| Tipo de dados | cadeia | O nome do tipo .NET Framework do tipo de dados. |
| IsAutoincrementable | Bool | verdadeiro — os valores desse tipo de dados podem ser auto-incrementáveis. false — Os valores desse tipo de dados podem não ser auto-incrementados. Observe que isso apenas indica se uma coluna desse tipo de dados pode estar incrementando automaticamente, não que todas as colunas desse tipo estejam incrementando automaticamente. |
| IsBestMatch | Bool | true: o tipo de dados é a melhor correspondência entre todos os tipos de dados do armazenamento de dados e o tipo de dados .NET Framework indicado pelo valor da coluna DataType. false: o tipo de dados não é a melhor correspondência. Para cada conjunto de linhas em que o valor da coluna DataType é o mesmo, a coluna IsBestMatch é definida como true em apenas uma linha. |
| IsCaseSensitive | Bool | true: o tipo de dados é um tipo de caractere e diferencia maiúsculas de minúsculas. false — O tipo de dados não é um tipo de caractere ou não diferencia maiúsculas de minúsculas. |
| IsFixedLength | Bool | true — as colunas desse tipo de dados criadas pela DDL (linguagem de definição de dados) serão de comprimento fixo. false — as colunas desse tipo de dados criadas pela DDL serão de comprimento variável. DBNull.Value — Não se sabe se o provedor mapeará esse campo com uma coluna de comprimento fixo ou de comprimento variável. |
| IsFixedPrecisionScale | Bool | true — O tipo de dados tem uma precisão e uma escala fixas. false — O tipo de dados não tem uma precisão e uma escala fixas. |
| IsLong | Bool | true — o tipo de dados contém dados muito longos; a definição de dados muito longos é específica do provedor. false — O tipo de dados não contém dados muito longos. |
| IsNullable | Bool | true: o tipo de dados permite valor nulo. false — O tipo de dados não é anulável. DBNull.Value — Não se sabe se o tipo de dados é anulável. |
| IsSearchable | Bool | true — O tipo de dados pode ser usado em uma cláusula WHERE com qualquer operador, exceto o predicado LIKE. false — O tipo de dados não pode ser usado em uma cláusula WHERE com qualquer operador, exceto o predicado LIKE. |
| IsSearchableWithLike | Bool | true — O tipo de dados pode ser usado com o predicado LIKE false — O tipo de dados não pode ser usado com o predicado LIKE. |
| IsUnsigned | Bool | true: o tipo de dados é sem sinal. false: o tipo de dados é com sinal. DBNull.Value — não aplicável ao tipo de dados. |
| Escala Máxima | curto | Se o indicador de tipo for um tipo numérico, esse será o número máximo de dígitos permitidos à direita do ponto decimal. Caso contrário, isso é DBNull.Value. |
| Escala Mínima | curto | Se o indicador de tipo for um tipo numérico, esse será o número mínimo de dígitos permitidos à direita do ponto decimal. Caso contrário, isso é DBNull.Value. |
| IsConcurrencyType | Bool | true – o tipo de dados é atualizado pelo banco de dados sempre que a linha é alterada e o valor da coluna é diferente de todos os valores anteriores false: o tipo de dados não é atualizado pelo banco de dados sempre que a linha é alterada DBNull.Value – o banco de dados não dá suporte a esse tipo de tipo de dados |
| IsLiteralSupported | Bool | true: o tipo de dados pode ser expresso como um literal false: o tipo de dados não pode ser expresso como um literal |
| LiteralPrefix | cadeia | O prefixo aplicado a um literal específico. |
| LiteralSuffix | cadeia | O sufixo aplicado a um literal específico. |
| NativeDataType | fio | NativeDataType é uma coluna específica do OLE DB para expor o tipo OLE DB do tipo de dados. |
Restrições
Esta coleção de esquema revela informações sobre as restrições suportadas pelo provedor gerenciado do .NET Framework que está sendo usado atualmente para se conectar ao banco de dados.
| ColumnName | Tipo de dados | Descrição |
|---|---|---|
| Nome da Coleção | cadeia | O nome da coleção à qual essas restrições se aplicam. |
| NomeDaRestrição | cadeia | O nome da restrição na coleção. |
| RestrictionDefault | cadeia | Ignorado. |
| Número de Restrição | int | A localização real nas restrições de coleções em que essa restrição específica se enquadra. |
Palavras Reservadas
Essa coleção de esquemas expõe informações sobre as palavras reservadas pelo banco de dados ao qual o provedor gerenciado do .NET Framework está conectado no momento.
| ColumnName | Tipo de dados | Descrição |
|---|---|---|
| ReservedWord | cadeia | Palavra reservada específica do provedor. |