Share via


Algemene schemaverzamelingen

Van toepassing op: .NET Framework .NET Standard

ADO.NET downloaden

De algemene schemaverzamelingen zijn de schemaverzamelingen die door elk van de beheerde .NET-providers worden geïmplementeerd. U kunt een .NET-beheerde provider opvragen om de lijst met ondersteunde schemaverzamelingen te bepalen door de GetSchema methode zonder argumenten aan te roepen of met de naam van de schemaverzameling 'MetaDataCollections'. Deze methode retourneert een DataTable met een lijst met de ondersteunde schemaverzamelingen, het aantal beperkingen dat ze elk ondersteunen en het aantal id-onderdelen dat ze gebruiken. In deze verzamelingen worden alle vereiste kolommen beschreven. Providers kunnen desgewenst meer kolommen toevoegen. De Microsoft SqlClient-gegevensprovider voor SQL Server voegt bijvoorbeeld toe ParameterName aan de verzameling beperkingen.

Als een provider de waarde van een vereiste kolom niet kan bepalen, wordt null geretourneerd.

Zie GetSchema voor meer informatie over het gebruik van de methoden.

MetaDataCollections

Deze verzameling bevat informatie over alle schemaverzamelingen die worden ondersteund door de provider die momenteel wordt gebruikt om verbinding te maken met de database.

ColumnName Gegevenstype Description
Naam van de Verzameling string De naam van de verzameling die moet worden doorgegeven aan de GetSchema methode om de verzameling te retourneren.
AantalBeperkingen int Het aantal beperkingen dat kan worden opgegeven voor de verzameling.
AantalIdentifierDelen int Het aantal onderdelen in de naam van het samengestelde id/databaseobject. In SQL Server is de waarde bijvoorbeeld 3 voor tabellen en 4 voor kolommen.

Gegevensbroninformatie

Deze schemaverzameling bevat informatie over de gegevensbron waarmee de Microsoft SqlClient-gegevensprovider voor SQL Server momenteel is verbonden.

ColumnName Gegevenstype Description
SamenstellendeIdentificatieScheidingstekenPatroon string De reguliere expressie die overeenkomt met de samengestelde scheidingstekens in een samengestelde identificator. Bijvoorbeeld \. (voor SQL Server).

Een samengestelde id is meestal wat wordt gebruikt voor de naam van een databaseobject, bijvoorbeeld: pubs.dbo.authors of pubs@dbo.authors.

Gebruik voor SQL Server de reguliere expressie \..
DataSourceProductName string De naam van het product dat door de provider wordt geopend, zoals 'SQLServer'.
DataSourceProductVersion string Geeft de versie aan van het product dat door de provider wordt geopend, in de systeemeigen indeling van de gegevensbronnen en niet in Microsoft-indeling.

In sommige gevallen DataSourceProductVersionDataSourceProductVersionNormalized is dit dezelfde waarde.
GegevensbronProductversieGenormaliseerd string Een genormaliseerde versie voor de gegevensbron, zodat deze kan worden vergeleken met String.Compare(). Deze indeling is consistent voor alle versies van de provider om te voorkomen dat versie 10 wordt gesorteerd tussen versie 1 en versie 2.

SQL Server gebruikt bijvoorbeeld de typische Microsoft-indeling nn.nn.nnnn .

In sommige gevallen DataSourceProductVersionDataSourceProductVersionNormalized is dit dezelfde waarde.
GroupByBehavior GroupByBehavior Hiermee geeft u de relatie tussen de kolommen in een GROUP BY-component en de niet-geaggregeerde kolommen in de selectielijst.
Identificatiepatroon string Een reguliere expressie die een identifier herkent en de overeenkomstige waarde van de identifier heeft. Bijvoorbeeld: [A-Za-z0-9_#$].
IdentifierCase IdentifierCase Geeft aan of niet-geciteerde identificators als hoofdlettergevoelig worden beschouwd of niet.
SorteerOpKolommenInSelect bool Hiermee geeft u op of kolommen in een ORDER BY-component in de selectielijst moeten staan. Een waarde van true geeft aan dat ze in de selectielijst moeten aanwezig zijn. Een waarde van false geeft aan dat ze niet in de selectielijst hoeven te staan.
ParameterMarkerFormaat string Een notatietekenreeks die aangeeft hoe een parameter moet worden opgemaakt.

Als benoemde parameters door de gegevensbron worden ondersteund, moet de eerste tijdelijke aanduiding in deze tekenreeks aangeven waar de parameternaam moet worden geformatteerd.

Als de gegevensbron bijvoorbeeld verwacht dat parameters worden benoemd en voorafgegaan door een :-tekenreeks, zou deze tekenreeks :{0} zijn. Bij het opmaken van deze parameter met een naam van p1 de resulterende tekenreeks is :p1.

Als de gegevensbron verwacht dat parameters worden voorafgegaan door de @, maar de namen ze al bevatten, zou deze tekenreeks {0} zijn en het resultaat van het opmaken van een parameter met de naam @p1 zou @p1 zijn.

Voor gegevensbronnen die geen benoemde parameters verwachten en het gebruik van het ? teken verwachten, kan de notatietekenreeks worden opgegeven als ?, waardoor de parameternaam wordt genegeerd.
ParameterMarkerPattern string Een reguliere expressie die overeenkomt met een parametermarkering. Deze heeft een overeenkomende waarde van de parameternaam, indien van toepassing.

Als benoemde parameters bijvoorbeeld worden ondersteund met een @ lead-in-teken dat wordt opgenomen in de parameternaam, is dit patroon: (\@[A-Za-z0-9_$#]*).

Als benoemde parameters echter worden ondersteund met een : als lead-in-teken en deze geen deel uitmaakt van de parameternaam, is dit patroon: :([A-Za-z0-9_$#]\*).

Als de gegevensbron geen ondersteuning biedt voor benoemde parameters, zou dit patroon ? zijn.
MaximaleLengteParameterNaam int De maximale lengte van een parameternaam in tekens. Visual Studio verwacht dat als parameternamen worden ondersteund, de minimumwaarde voor de maximale lengte 30 tekens is.

Als de gegevensbron geen ondersteuning biedt voor benoemde parameters, retourneert deze eigenschap nul.
ParameterNaamPatroon string Een reguliere expressie die overeenkomt met de geldige parameternamen. Verschillende gegevensbronnen hebben verschillende regels over de tekens die kunnen worden gebruikt voor parameternamen.

Visual Studio verwacht dat als parameternamen worden ondersteund, de tekens \p{Lu}\p{Ll}\p{Lt}\p{Lm}\p{Lo}\p{Nl}\p{Nd} de minimaal ondersteunde set tekens zijn die geldig zijn voor parameternamen.
QuotedIdentifierPattern string Een reguliere expressie die overeenkomt met een tussen aanhalingstekens geplaatste identificator en de overeenkomstwaarde van de identificator zelf zonder de aanhalingstekens heeft. Als de gegevensbron bijvoorbeeld dubbele aanhalingstekens heeft gebruikt om geciteerde identificaties te markeren, zou dit patroon zijn: (([^\\"]\|\\"\\")*).
QuotedIdentifierCase IdentifierCase Hiermee wordt aangegeven of gequote identificeerders al dan niet als hoofdlettergevoelig worden behandeld.
StatementSeparatorPattern string Een reguliere expressie die overeenkomt met het instructiescheidingsteken.
StringLiteralPattern string Een reguliere expressie die overeenkomt met een letterlijke tekenreeks en als overeenkomst de letterlijke tekenreeks zelf heeft. Als de gegevensbron bijvoorbeeld enkele aanhalingstekens heeft gebruikt om tekenreeksen te identificeren, is dit patroon: ('([^']\|'')*')'
OndersteundeJoinOperatoren SupportedJoinOperators Hiermee geeft u op welke typen SQL-join-instructies worden ondersteund door de gegevensbron.

Datatypes

Deze schemaverzameling bevat informatie over de gegevenstypen die worden ondersteund door de database waarmee de provider momenteel is verbonden.

ColumnName Gegevenstype Description
Typenaam string De providerspecifieke naam van het gegevenstype.
ProviderDbType int De providerspecifieke waarde die moet worden gebruikt bij het opgeven van het type van een parameter. Bijvoorbeeld: SqlDbType.Money.
Kolomgrootte long De lengte van een niet-numerieke kolom of parameter. Deze waarde verwijst naar het maximum of de lengte die is gedefinieerd voor dit type door de provider.

Voor tekengegevens is deze waarde de maximale of gedefinieerde lengte in eenheden, gedefinieerd door de gegevensbron.

Voor datum-/tijdgegevenstypen is deze waarde de lengte van de tekenreeksweergave (uitgaande van de maximaal toegestane precisie van het component fractionele seconden).

Als het gegevenstype numeriek is, is deze waarde de bovengrens voor de maximale precisie van het gegevenstype.
CreateFormat string Formatteerstring die aangeeft hoe u deze kolom in een gegevensdefinitie-instructie toevoegt, zoals bij CREATE TABLE. Elk element in de CreateParameter matrix moet worden vertegenwoordigd door een parametermarkering in de notatietekenreeks.

Het SQL-gegevenstype DECIMAL heeft bijvoorbeeld een precisie en een schaal nodig. In dit geval zou de indelingsreeks DECIMAL({0},{1}) zijn.
CreateParameters string De aanmaakparameters die moeten worden opgegeven bij het maken van een kolom van dit gegevenstype. Elke aanmaakparameter wordt vermeld in de tekenreeks, gescheiden door een komma in de volgorde waarin deze moeten worden opgegeven.

Het SQL-gegevenstype DECIMAL heeft bijvoorbeeld een precisie en een schaal nodig. In dit geval moeten de aanmaakparameters de string 'precisie, schaal' bevatten.

In een tekstopdracht voor het maken van een decimale kolom met een precisie van 10 en een schaal van 2, kan de waarde van de kolom CreateFormat zijn DECIMAL({0},{1}) en de volledige typespecificatie zou zijn DECIMAL(10,2).
Gegevenstype string De naam van het .NET-type van het gegevenstype.
IsAutoincrementable bool true - Waarden van dit gegevenstype kunnen automatisch worden verhoogd.

false - Waarden van dit gegevenstype worden mogelijk niet automatisch verhoogd.

Deze eigenschap geeft alleen aan of een kolom van dit gegevenstype automatisch kan worden verhoogd, niet dat alle kolommen van dit type automatisch worden verhoogd.
IsBestMatch bool true - Het gegevenstype is de beste overeenkomst tussen alle gegevenstypen in het gegevensarchief en het .NET-gegevenstype dat wordt aangegeven door de waarde in de DataType kolom.

false - Het gegevenstype stemt niet goed overeen.

Voor elke set rijen waarin de waarde van de DataType kolom hetzelfde is, wordt de IsBestMatch kolom in slechts één rij op true ingesteld.
IsCaseSensitive bool true - Het gegevenstype is een tekentype en is hoofdlettergevoelig.

false - Het gegevenstype is geen tekentype of is niet hoofdlettergevoelig.
IsFixedLength bool true - Kolommen van dit gegevenstype die door de DDL (Data Definition Language) zijn gemaakt, hebben een vaste lengte.

false - Kolommen van dit gegevenstype dat door de DDL is gemaakt, hebben een variabele lengte.

DBNull.Value - Het is niet bekend of de provider dit veld zal toewijzen met een kolom met een vaste lengte of variabele lengte.
IsVastePrecisieSchaal bool true - Het gegevenstype heeft een vaste precisie en schaal.

false - Het gegevenstype heeft geen vaste precisie en schaal.
IsLong bool true - Het gegevenstype bevat zeer lange gegevens; de definitie van zeer lange gegevens is providerspecifiek.

false - Het gegevenstype bevat geen zeer lange gegevens.
IsNullbaar bool true - Het gegevenstype is null-baar.

false - Het gegevenstype is niet nullable.

DBNull.Value - Het is niet bekend of het gegevenstype nullable is.
IsDoorzoekbaar bool true - Het gegevenstype kan worden gebruikt in een WHERE-component met elke operator behalve het PREdicaat LIKE.

false - Het gegevenstype kan niet worden gebruikt in een WHERE-component met een operator behalve het predicaat LIKE.
IsDoorzoekbaarMetLike bool true - Het gegevenstype kan worden gebruikt met het PREdicaat LIKE.

false - Het gegevenstype kan niet worden gebruikt met het predicaat LIKE.
IsUnsigned bool true - Het gegevenstype is niet ondertekend.

false - Het gegevenstype is ondertekend.

DBNull.Value - Niet van toepassing op gegevenstype.
Maximumschaal short Als de typeindicator een numeriek type is, is deze waarde het maximum aantal cijfers dat rechts van het decimaalteken is toegestaan. Anders is deze waarde DBNull.Value.
Minimumschaal short Als de typeindicator een numeriek type is, is deze waarde het minimumaantal cijfers dat rechts van het decimaalteken is toegestaan. Anders is deze waarde DBNull.Value.
IsConcurrencyType bool true – Het gegevenstype wordt telkens wanneer de rij wordt gewijzigd door de database bijgewerkt en de waarde van de kolom verschilt van alle vorige waarden.

false – Het gegevenstype wordt bijgewerkt door de database telkens wanneer de rij wordt gewijzigd.

DBNull.Value – De database biedt geen ondersteuning voor dit gegevenstype.
IsLiteralSupported bool true – Het gegevenstype kan worden uitgedrukt als een letterlijke.

false – Het gegevenstype kan niet als een letterlijke waarde worden uitgedrukt.
LiteralPrefix string Het voorvoegsel dat is toegepast op een bepaalde letterlijke gegevens.
Letterlijke achtervoegsel string Het achtervoegsel dat is toegepast op een bepaalde letterlijke.

Beperkingen

Deze schemaverzameling bevat informatie over de beperkingen die worden ondersteund door de provider die momenteel wordt gebruikt om verbinding te maken met de database.

ColumnName Gegevenstype Description
Naam van de Verzameling string De naam van de verzameling waarop deze beperkingen van toepassing zijn.
Restrictienaam string De naam van de beperking in de verzameling.
BeperkingStandaard string Genegeerd.
Beperkingsnummer int De werkelijke locatie in de verzamelingsbeperkingen waarin deze specifieke beperking valt.

GereserveerdeWoorden

Deze schemaverzameling bevat informatie over de woorden die zijn gereserveerd door de database waarmee de provider die momenteel is verbonden.

ColumnName Gegevenstype Description
GereserveerdWoord string Provider-specifiek gereserveerd woord.

Zie ook