Megosztás a következőn keresztül:


Gyakori sémagyűjtemények

A közös sémagyűjtemények az egyes .NET-keretrendszer felügyelt szolgáltatók által implementált sémagyűjtemények. A támogatott sémagyűjtemények listájának meghatározásához lekérdezhet egy .NET-keretrendszer felügyelt szolgáltatót úgy, hogy argumentumok nélkül hívja meg a GetSchema metódust, vagy a "MetaDataCollections" sémagyűjtemény-nevet. Ez egy DataTable listát ad vissza a támogatott sémagyűjteményekről, az általuk támogatott korlátozások számáról és az általuk használt azonosító részek számáról. Ezek a gyűjtemények az összes szükséges oszlopot ismertetik. A szolgáltatók igény szerint további oszlopokat is hozzáadhatnak. Adja hozzá például a SqlClient OracleClient ParameterName nevet a korlátozások gyűjteményéhez.

Ha egy szolgáltató nem tudja meghatározni a szükséges oszlop értékét, null értéket ad vissza.

A GetSchema metódusok használatáról további információt a GetSchema és a sémagyűjtemények című témakörben talál.

MetaDataCollections

Ez a sémagyűjtemény az adatbázishoz való csatlakozáshoz jelenleg használt .NET-keretrendszer felügyelt szolgáltató által támogatott összes sémagyűjteményre vonatkozó információkat teszi elérhetővé.

Oszlopnév Adattípus Leírás
CollectionName húr A gyűjtemény visszaadásához a GetSchema metódusnak átadni kívánt gyűjtemény neve.
NumberOfRestrictions egész A gyűjteményhez megadható korlátozások száma.
NumberOfIdentifierParts egész Az összetett azonosító/adatbázis-objektum nevének részeinek száma. Az SQL Serverben például ez a tábláknál 3, az oszlopoknál pedig 4. Az Oracle-ben 2 a táblákhoz és 3 az oszlopokhoz.

DataSourceInformation

Ez a sémagyűjtemény olyan adatforrás adatait teszi elérhetővé, amelyhez a .NET-keretrendszer felügyelt szolgáltató jelenleg csatlakozik.

Oszlopnév Adattípus Leírás
CompositeIdentifierSeparatorPattern húr Az összetett azonosító összetett elválasztóinak megfelelő reguláris kifejezés. Például: "\." (SQL Server esetén) vagy "@|\". (Oracle esetén).

Az összetett azonosítók általában az adatbázis-objektumok nevéhez használatosak, például: pubs.dbo.authors vagy pubs@dbo.authors.

SQL Server esetén használja a "\" reguláris kifejezést. Az OracleClienthez használja a következőt: "@|\.".

ODBC esetén használja a Catalog_name_separator.

OLE DB esetén használja a DBLITERAL_CATALOG_Standard kiadás PARATOR vagy DBLITERAL_SCHEMA_Standard kiadás PARATOR parancsot.
DataSourceProductName húr A szolgáltató által elért termék neve, például "Oracle" vagy "SQLServer".
DataSourceProductVersion húr A szolgáltató által elért termék verzióját jelzi natív adatforrásokban, és nem Microsoft formátumban.

Bizonyos esetekben a DataSourceProductVersion és a DataSourceProductVersionNormalized ugyanaz az érték lesz. Az OLE DB és az ODBC esetében ezek mindig ugyanazok lesznek, mint a mögöttes natív API ugyanazon függvényhívásához rendelve.
DataSourceProductVersionNormalized húr Az adatforrás normalizált verziója, amely összehasonlítható a következővel String.Compare(): . Ennek formátuma konzisztens a szolgáltató összes verziójában, hogy megakadályozza a 10-es verzió rendezését az 1. és a 2. verzió között.

Az Oracle-szolgáltató például "nn.nn.nn.nn.nn"-formátumot használ a normalizált verzióhoz, ami miatt az Oracle 8i-adatforrás a "08.01.07.04.01" értéket adja vissza. Az SQL Server a Microsoft tipikus "nn.nn.nnnn" formátumát használja.

Bizonyos esetekben a DataSourceProductVersion és a DataSourceProductVersionNormalized értéke ugyanaz lesz. OLE DB és ODBC esetén ezek mindig ugyanazok lesznek, mint a mögöttes natív API ugyanazon függvényhívásához rendelve.
GroupByBehavior GroupByBehavior Megadja a GROUP BY záradék oszlopai és a kijelölési lista nem összesített oszlopai közötti kapcsolatot.
IdentifierPattern húr Egy azonosítónak megfelelő és az azonosítónak megfelelő reguláris kifejezés. Például: "[A-Za-z0-9_#$]".
IdentifierCase IdentifierCase Azt jelzi, hogy a nem idézett azonosítók megkülönböztetik-e a kis- és nagybetűket.
OrderByColumnsInSelect logikai Megadja, hogy az ORDER BY záradék oszlopainak szerepelnie kell-e a kiválasztási listában. Az igaz érték azt jelzi, hogy szerepelniük kell a kiválasztási listában, a hamis érték azt jelzi, hogy nem kell szerepelniük a kiválasztási listában.
ParameterMarkerFormat húr Egy paraméter formázását ábrázoló formázási sztring.

Ha az adatforrás támogatja az elnevezett paramétereket, a sztring első helyőrzőjének kell lennie, ahol a paraméter nevét formázni kell.

Ha például az adatforrás azt várja, hogy a paraméterek neve és előtagja ":" legyen, akkor ez a következő lenne: "{0}. Ha ezt "p1" paraméternévvel formázza, az eredményül kapott sztring ":p 1".

Ha az adatforrás azt várja, hogy a paraméterek előtagja "@", de a nevek már tartalmazzák őket, ez ""{0} lesz, és a "@p1" nevű paraméter formázásának eredménye egyszerűen "@p1".

Az olyan adatforrások esetében, amelyek nem várnak elnevezett paramétereket, és a "?" karakter használatát várják, a formátumsztring egyszerűen "?" értékként adható meg, amely figyelmen kívül hagyja a paraméter nevét. Az OLE DB esetében a következőt adjuk vissza: "?".
ParameterMarkerPattern húr Egy paraméterjelölőnek megfelelő reguláris kifejezés. Ha van ilyen, a paraméter nevének egyező értéke lesz.

Ha például az elnevezett paraméterek támogatottak egy "@" bevezető karakterrel, amely szerepel a paraméternévben, ez a következő lenne: "(@[A-Za-z0-9_$#]*)".

Ha azonban az elnevezett paramétereket ":" karakterrel támogatják, és nem része a paraméternévnek, a következő lenne: ":([A-Za-z0-9_$#]*)".

Természetesen, ha az adatforrás nem támogatja az elnevezett paramétereket, ez egyszerűen "?".
ParameterNameMaxLength egész A paraméternév maximális hossza karakterekben. A Visual Studio arra számít, hogy ha a paraméternevek támogatottak, a maximális hossz minimális értéke 30 karakter.

Ha az adatforrás nem támogatja az elnevezett paramétereket, ez a tulajdonság nulla értéket ad vissza.
ParameterNamePattern húr Az érvényes paraméterneveknek megfelelő reguláris kifejezés. A különböző adatforrások eltérő szabályokkal rendelkeznek a paraméternevekhez használható karakterekre vonatkozóan.

A Visual Studio arra számít, hogy ha a paraméternevek támogatottak, a paraméternevek minimális támogatott karakterkészlete a "\p{Lu}\p{Ll}\p{Lt}\p{Lm}\p{Lm}\p{Nd}" karakterkészlet.
QuotedIdentifierPattern húr Egy idézőjeles azonosítónak megfelelő reguláris kifejezés, amely magában az azonosítóban szerepel idézőjelek nélkül. Ha például az adatforrás idézőjeleket használt az idézett azonosítók azonosításához, az a következő lenne: "(([^\"]|\"\")*)".
QuotedIdentifierCase IdentifierCase Azt jelzi, hogy az idézett azonosítók megkülönböztetik-e a kis- és nagybetűket.
StatementSeparatorPattern húr Egy reguláris kifejezés, amely megfelel az utasításelválasztónak.
StringLiteralPattern húr Reguláris kifejezés, amely egy sztringkonstansnak felel meg, és magában a literálban egyező értékkel rendelkezik. Ha például az adatforrás egy idézőjeleket használ a sztringek azonosításához, az a következő lenne: "((([^']|') *')"'
TámogatottJoinOperators SupportedJoinOperators Meghatározza, hogy az adatforrás milyen típusú SQL-illesztési utasításokat támogat.

DataTypes

Ez a sémagyűjtemény azokról az adattípusokról tesz közzé információkat, amelyekhez a .NET-keretrendszer felügyelt szolgáltató jelenleg csatlakozik.

Oszlopnév Adattípus Leírás
TypeName húr A szolgáltatóspecifikus adattípus neve.
ProviderDbType egész A paraméter típusának megadásakor használandó szolgáltatóspecifikus típusérték. Például: SqlDbType.Money vagy OracleType.Blob.
Oszlopméret hosszú A nem numerikus oszlop vagy paraméter hossza a szolgáltató által az ehhez a típushoz megadott maximumra vagy hosszúságra utal.

Karakteradatok esetén ez az adatforrás által definiált egységek maximális vagy meghatározott hossza. Az Oracle koncepciója szerint meg kell határoznia egy hosszt, majd meg kell adnia a tényleges tárolási méretet bizonyos karakteradattípusokhoz. Ez csak az Oracle egységeinek hosszát határozza meg.

Dátum-idő adattípusok esetén ez a sztringábrázolás hossza (a tört másodperc összetevő maximális megengedett pontosságát feltételezve).

Ha az adattípus numerikus, akkor ez az adattípus maximális pontosságának felső határa.
CreateFormat húr Az oszlop adatdefiníciós utasításhoz, például a CREATE TABLE-hez való hozzáadását jelző karakterlánc formázása. A CreateParameter tömb minden elemét egy "paraméterjelölővel" kell ábrázolni a formátumsztringben.

Az SQL-adattípusnak például pontosságra és skálázásra van szüksége. Ebben az esetben a formátumsztring a "DECIMÁLIS({0};{1})" lesz.
CreateParameters húr Az ilyen típusú oszlop létrehozásakor megadandó létrehozási paraméterek. Minden létrehozási paraméter szerepel a sztringben, vesszővel elválasztva a megadott sorrendben.

Az SQL-adattípusnak például pontosságra és skálázásra van szüksége. Ebben az esetben a létrehozási paramétereknek tartalmazniuk kell a "pontosság, skálázás" sztringet.

A 10 pontosságú ÉS 2-es skálájú DECIMális oszlop létrehozásához használható szöveges parancsokban a CreateFormat oszlop értéke LEHET DECIM({0};){1}", a teljes típusspecifikáció pedig TIZEDES(10,2).
Adattípus húr Az adattípus .NET-keretrendszer típusának neve.
IsAutoincrementable logikai igaz – Az adattípus értékei automatikusan növekedhetnek.

hamis – Előfordulhat, hogy az ilyen adattípus értékei nem lesznek automatikusan növekvőek.

Vegye figyelembe, hogy ez csupán azt jelzi, hogy az adattípus egy oszlopa automatikusan növekszik-e, nem pedig azt, hogy az ilyen típusú oszlopok automatikusan növeksenek.
IsBestMatch logikai igaz – Az adattípus a legjobb egyezés az adattár összes adattípusa és a DataType oszlopban szereplő érték által jelzett .NET-keretrendszer adattípus között.

hamis – Az adattípus nem a legjobb egyezés.

Minden olyan sorkészletnél, amelyben a DataType oszlop értéke megegyezik, az IsBestMatch oszlop csak egy sorban igaz értékre van állítva.
IsCaseSensitive logikai true – Az adattípus egy karaktertípus, és megkülönbözteti a kis- és nagybetűk megkülönböztetése.

hamis – Az adattípus nem karaktertípus, vagy nem megkülönbözteti a kis- és nagybetűk megkülönböztetése.
IsFixedLength logikai true – Az adatdefiníciós nyelv (DDL) által létrehozott adattípus oszlopai rögzített hosszúságúak lesznek.

false – A DDL által létrehozott adattípus oszlopai változó hosszúságúak lesznek.

DBNull.Value – Nem lehet tudni, hogy a szolgáltató rögzített hosszúságú vagy változó hosszúságú oszlopmal fogja-e megfeleltetni ezt a mezőt.
IsFixedPrecisionScale logikai igaz – Az adattípus rögzített pontosságú és skálázású.

hamis – Az adattípus nem rendelkezik rögzített pontosságú és skálázható értékkel.
IsLong logikai igaz – Az adattípus nagyon hosszú adatokat tartalmaz; a nagyon hosszú adatok definíciója szolgáltatóspecifikus.

hamis – Az adattípus nem tartalmaz túl hosszú adatokat.
IsNullable logikai true – Az adattípus null értékű.

false – Az adattípus nem null értékű.

DBNull.Value – Nem ismert, hogy az adattípus null értékű-e.
IsSearchable logikai true – Az adattípus a LIKE predikátum kivételével bármely operátorral használható a WHERE záradékban.

false – Az adattípus nem használható a WHERE záradékban a LIKE predikátum kivételével egyetlen operátorral sem.
IsSearchableWithLike logikai true – Az adattípus használható a LIKE predikátummal

false – Az adattípus nem használható a LIKE predikátummal.
IsUnsigned logikai true – Az adattípus nincs aláírva.

hamis – Az adattípus aláírt.

DBNull.Value – Adattípusra nem alkalmazható.
Maximális skálázás Rövid Ha a típusjelző numerikus típus, akkor ez a tizedesvessző jobb oldalán engedélyezett számjegyek maximális száma. Ellenkező esetben ez a DBNull.Value.
Minimális skálázás Rövid Ha a típusjelző numerikus típus, akkor ez a tizedesvessző jobb oldalán megengedett számjegyek minimális száma. Ellenkező esetben ez a DBNull.Value.
IsConcurrencyType logikai true (igaz) – az adattípust az adatbázis minden alkalommal frissíti, amikor a sor módosul, és az oszlop értéke eltér az összes korábbi értéktől

false – az adattípust az adatbázis minden alkalommal frissíti, amikor a sor módosul

DBNull.Value – az adatbázis nem támogatja ezt az adattípust
IsLiteralSupported logikai igaz – az adattípus konstansként fejezhető ki

hamis – az adattípus nem fejezhető ki konstansként
LiteralPrefix húr Az adott literálra alkalmazott előtag.
LiteralSuffix húr Az adott literálra alkalmazott utótag.
NativeDataType Sztring A NativeDataType egy OLE DB-specifikus oszlop az adattípus OLE DB-típusának felfedéséhez.

Korlátozások

Ez a sémagyűjtemény az adatbázishoz való csatlakozáshoz jelenleg használt .NET-keretrendszer felügyelt szolgáltató által támogatott korlátozásokról adott tájékoztatást.

Oszlopnév Adattípus Leírás
CollectionName húr Annak a gyűjteménynek a neve, amelyekre ezek a korlátozások vonatkoznak.
RestrictionName húr A gyűjteményben lévő korlátozás neve.
RestrictionDefault húr Figyelmen kívül hagyja.
RestrictionNumber egész A gyűjtemények tényleges helye, amelybe ez a korlátozás beleesik.

ReservedWords

Ez a sémagyűjtemény a .NET-keretrendszer felügyelt szolgáltató által fenntartott szavakra vonatkozó információkat teszi elérhetővé.

Oszlopnév Adattípus Leírás
ReservedWord húr Szolgáltatóspecifikus fenntartott szó.

Lásd még