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ó. |