Algemene schemaverzamelingen
De algemene schemaverzamelingen zijn de schemaverzamelingen die door elk van de beheerde .NET Framework-providers worden geïmplementeerd. U kunt een door .NET Framework 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'. Hiermee wordt een DataTable lijst geretourneerd met een lijst met 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 extra kolommen toevoegen. Voeg OracleClient
bijvoorbeeld SqlClient
ParameterName toe aan de verzameling beperkingen.
Als een provider de waarde van een vereiste kolom niet kan bepalen, wordt null geretourneerd.
Zie GetSchema- en Schema-verzamelingen voor meer informatie over het gebruik van de GetSchema-methoden.
MetaDataCollections
Deze schemaverzameling bevat informatie over alle schemaverzamelingen die worden ondersteund door de beheerde .NET Framework-provider die momenteel wordt gebruikt om verbinding te maken met de database.
ColumnName | DataType | Beschrijving |
---|---|---|
NaamVerzameling | tekenreeks | De naam van de verzameling die moet worden doorgegeven aan de Methode GetSchema om de verzameling te retourneren. |
NumberOfRestrictions | int | Het aantal beperkingen dat kan worden opgegeven voor de verzameling. |
NumberOfIdentifierParts | int | Het aantal onderdelen in de naam van het samengestelde id/databaseobject. In SQL Server is dit bijvoorbeeld 3 voor tabellen en 4 voor kolommen. In Oracle is dit 2 voor tabellen en 3 voor kolommen. |
DataSourceInformation
Deze schemaverzameling bevat informatie over de gegevensbron waarmee de beheerde .NET Framework-provider momenteel verbinding maakt.
ColumnName | DataType | Beschrijving |
---|---|---|
CompositeIdentifierSeparatorPattern | tekenreeks | De reguliere expressie die overeenkomt met de samengestelde scheidingstekens in een samengestelde id. Bijvoorbeeld '\'. (voor SQL Server) of @|\. (voor Oracle). 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 '\'. Gebruik @|\voor OracleClient. Gebruik voor ODBC de Catalog_name_separator. Gebruik voor OLE DB DBLITERAL_CATALOG_SEPARATOR of DBLITERAL_SCHEMA_SEPARATOR. |
DataSourceProductName | tekenreeks | De naam van het product dat door de provider wordt geopend, zoals 'Oracle' of 'SQLServer'. |
DataSourceProductVersion | tekenreeks | 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 is DataSourceProductVersion en DataSourceProductVersionNormalized dezelfde waarde. In het geval van OLE DB en ODBC zijn deze altijd hetzelfde als ze zijn toegewezen aan dezelfde functie-aanroep in de onderliggende systeemeigen API. |
DataSourceProductVersionNormalized | tekenreeks | Een genormaliseerde versie voor de gegevensbron, zodat deze kan worden vergeleken met String.Compare() . De indeling hiervan is consistent voor alle versies van de provider om te voorkomen dat versie 10 wordt gesorteerd tussen versie 1 en versie 2.De Oracle-provider gebruikt bijvoorbeeld de indeling nn.nn.nn.nn.nn.nn voor de genormaliseerde versie, waardoor een Oracle 8i-gegevensbron '08.01.07.04.01' retourneert. SQL Server gebruikt de typische Microsoft-indeling nn.nn.nnnn. In sommige gevallen zijn DataSourceProductVersion en DataSourceProductVersionNormalized dezelfde waarde. In het geval van OLE DB en ODBC zijn deze altijd hetzelfde als ze zijn toegewezen aan dezelfde functie-aanroep in de onderliggende systeemeigen API. |
GroupByBehavior | GroupByBehavior | Hiermee geeft u de relatie tussen de kolommen in een GROUP BY-component en de niet-geaggregeerde kolommen in de selectielijst. |
IdentifierPattern | tekenreeks | Een reguliere expressie die overeenkomt met een id en een overeenkomstwaarde van de id heeft. Bijvoorbeeld '[A-Za-z0-9_#$]'. |
IdentifierCase | IdentifierCase | Geeft aan of niet-geciteerde id's worden behandeld als hoofdlettergevoelig of niet. |
OrderByColumnsInSelect | bool | Hiermee geeft u op of kolommen in een ORDER BY-component in de selectielijst moeten staan. Een waarde waar geeft aan dat ze in de selectielijst moeten staan, een waarde van onwaar geeft aan dat ze niet in de selectielijst hoeven te staan. |
ParameterMarkerFormat | tekenreeks | Een notatietekenreeks die aangeeft hoe een parameter moet worden opgemaakt. Als benoemde parameters worden ondersteund door de gegevensbron, moet de eerste tijdelijke aanduiding in deze tekenreeks zijn waar de parameternaam moet worden opgemaakt. Als de gegevensbron bijvoorbeeld verwacht dat parameters een naam krijgen en een voorvoegsel hebben met een ':', zou dit ':{0}' zijn. Wanneer u dit opmaakt met de parameternaam 'p1', is de resulterende tekenreeks ':p 1'. Als de gegevensbron verwacht dat parameters worden voorafgegaan door het @, maar de namen deze al bevatten, zou dit '{0}' zijn en zou het resultaat van het opmaken van een parameter met de naam '@p1' gewoon '@p1' zijn. Voor gegevensbronnen die geen benoemde parameters verwachten en het gebruik van het teken '?' verwachten, kan de notatietekenreeks worden opgegeven als gewoon '?', waardoor de parameternaam wordt genegeerd. Voor OLE DB retourneren we '?'. |
ParameterMarkerPattern | tekenreeks | 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: "(@[A-Za-z0-9_$#]*)". Als benoemde parameters echter worden ondersteund met een ':' als het lead-in-teken en deze niet deel uitmaakt van de parameternaam, is dit: ":([A-Za-z0-9_$#]*)". Als de gegevensbron natuurlijk geen ondersteuning biedt voor benoemde parameters, is dit gewoon '?'. |
ParameterNameMaxLength | 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. |
ParameterNamePattern | tekenreeks | Een reguliere expressie die overeenkomt met de geldige parameternamen. Verschillende gegevensbronnen hebben verschillende regels met betrekking tot 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 | tekenreeks | Een reguliere expressie die overeenkomt met een aanhalingstekens en een overeenkomstwaarde heeft van de id zelf zonder de aanhalingstekens. Als de gegevensbron bijvoorbeeld dubbele aanhalingstekens heeft gebruikt om aanhalingstekens te identificeren, is dit: (([^\"]|\")*)". |
QuotedIdentifierCase | IdentifierCase | Hiermee wordt aangegeven of id's tussen aanhalen als hoofdlettergevoelig of niet worden behandeld. |
StatementSeparatorPattern | tekenreeks | Een reguliere expressie die overeenkomt met het instructiescheidingsteken. |
StringLiteralPattern | tekenreeks | Een reguliere expressie die overeenkomt met een letterlijke tekenreeks en een overeenkomende waarde van de letterlijke waarde heeft. Als de gegevensbron bijvoorbeeld enkele aanhalingstekens heeft gebruikt om tekenreeksen te identificeren, is dit: ('([^']|') *')"' |
SupportedJoinOperators | 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 beheerde .NET Framework-provider momenteel is verbonden.
ColumnName | DataType | Beschrijving |
---|---|---|
Typename | tekenreeks | 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 of OracleType.Blob. |
Kolomgrootte | long | De lengte van een niet-numerieke kolom of parameter verwijst naar het maximum of de lengte die is gedefinieerd voor dit type door de provider. Voor tekengegevens is dit de maximale of gedefinieerde lengte in eenheden, gedefinieerd door de gegevensbron. Oracle heeft het concept van het opgeven van een lengte en het opgeven van de werkelijke opslaggrootte voor bepaalde tekengegevenstypen. Hiermee definieert u alleen de lengte in eenheden voor Oracle. Voor datum-tijdgegevenstypen is dit de lengte van de tekenreeksweergave (uitgaande van de maximaal toegestane precisie van het onderdeel fractionele seconden). Als het gegevenstype numeriek is, is dit de bovengrens voor de maximale precisie van het gegevenstype. |
CreateFormat | tekenreeks | Tekenreeks opmaken die aangeeft hoe u deze kolom toevoegt aan een instructie voor gegevensdefinities, zoals CREATE TABLE. Elk element in de matrix CreateParameter moet worden vertegenwoordigd door een parametermarkering in de notatietekenreeks. Het SQL-gegevenstype DECIMAL heeft bijvoorbeeld een precisie en een schaal nodig. In dit geval is de notatietekenreeks DECIMAL({0},{1}). |
CreateParameters | tekenreeks | 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 tekenreeks '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 DECIMAL({0},{1})" zijn en is de volledige typespecificatie DECIMAL(10,2). |
DataType | tekenreeks | De naam van het .NET Framework-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. Houd er rekening mee dat dit alleen aangeeft 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 Framework-gegevenstype dat wordt aangegeven door de waarde in de kolom DataType. false: het gegevenstype is niet de beste overeenkomst. Voor elke set rijen waarin de waarde van de kolom DataType hetzelfde is, is de kolom IsBestMatch ingesteld op true in slechts één rij. |
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 zijn gemaakt door de DDL (Data Definition Language) hebben een vaste lengte. false: kolommen van dit gegevenstype die door de DDL zijn gemaakt, hebben een variabele lengte. DBNull.Value: het is niet bekend of de provider dit veld zal toewijzen aan een kolom met een vaste lengte of variabele lengte. |
IsFixedPrecisionScale | 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. |
IsNullable | bool | true: het gegevenstype kan null zijn. false: het gegevenstype is niet nullable. DBNull.Value: het is niet bekend of het gegevenstype null kan worden gebruikt. |
IsSearchable | 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. |
IsSearchableWithLike | 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 | Korte | Als de typeindicator een numeriek type is, is dit het maximum aantal cijfers dat rechts van het decimaalteken is toegestaan. Anders is dit DBNull.Value. |
Minimumschaal | Korte | Als de typeindicator een numeriek type is, is dit het minimumaantal cijfers dat rechts van het decimaalteken is toegestaan. Anders is dit DBNull.Value. |
IsConcurrencyType | bool | true: het gegevenstype wordt bijgewerkt door de database telkens wanneer de rij wordt gewijzigd 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 type gegevenstype |
IsLiteralSupported | bool | true: het gegevenstype kan worden uitgedrukt als een letterlijke false : het gegevenstype kan niet worden uitgedrukt als een letterlijke |
LiteralPrefix | tekenreeks | Het voorvoegsel dat is toegepast op een bepaalde letterlijke gegevens. |
Letterlijke achtervoegsel | tekenreeks | Het achtervoegsel dat is toegepast op een bepaalde letterlijke. |
NativeDataType | String | NativeDataType is een OLE DB-specifieke kolom voor het weergeven van het OLE DB-type van het gegevenstype. |
Beperkingen
Deze schemaverzameling bevat informatie over de beperkingen die worden ondersteund door de beheerde .NET Framework-provider die momenteel wordt gebruikt om verbinding te maken met de database.
ColumnName | DataType | Beschrijving |
---|---|---|
NaamVerzameling | tekenreeks | De naam van de verzameling waarop deze beperkingen van toepassing zijn. |
RestrictionName | tekenreeks | De naam van de beperking in de verzameling. |
RestrictionDefault | tekenreeks | Genegeerd. |
RestrictionNumber | int | De werkelijke locatie in de verzamelingsbeperkingen waarin deze specifieke beperking valt. |
Reservedwords
Deze schemaverzameling bevat informatie over de woorden die zijn gereserveerd door de database waarmee de beheerde .NET Framework-provider momenteel is verbonden.
ColumnName | DataType | Beschrijving |
---|---|---|
ReservedWord | tekenreeks | Providerspecifiek gereserveerd woord. |