Megosztás:


Azonosítók (SSIS)

A következőkre vonatkozik:SQL Server SSIS integrációs futtatókörnyezet az Azure Data Factory-ban

A kifejezésekben az azonosítók a művelet számára elérhető oszlopok és változók. A kifejezések használhatnak normál és minősített azonosítókat.

Normál azonosítók

A rendszeres azonosító olyan azonosító, amely nem igényel további minősítőket. A MiddleName például egy normál azonosító, és az AdventureWorks adatbázis Névjegyek táblájának egyik oszlopa.

A normál azonosítók elnevezésének a következő szabályokat kell követnie:

  • A név első karakterének a Unicode Standard 2.0 által meghatározott betűnek vagy aláhúzásjelnek (_) kell lennie.

  • A következő karakterek lehetnek betűk vagy számok a Unicode Standard 2.0-ban meghatározottak szerint, az aláhúzásjel (_), a @, a $és a # karakterek.

Fontos

A beágyazott szóközök és a speciális karakterek a felsoroltakon kívül nem érvényesek a normál azonosítókban. Szóközök és speciális karakterek használatához normál azonosító helyett minősített azonosítót kell használnia.

Minősített azonosítók

A minősített azonosítók szögletes zárójelekkel tagolt azonosítók. Az azonosítók elválasztójelet igényelhetnek, mert az azonosító neve szóközöket tartalmaz, vagy mert az azonosító neve nem betűvel vagy aláhúzásjellel kezdődik. A Középső név oszlopnevet például zárójelekkel kell minősíteni, és [Középső név] néven kell írni egy kifejezésben.

Ha az azonosító neve szóközöket tartalmaz, vagy ha a név nem érvényes normál azonosítónév, akkor az azonosítónak minősítettnek kell lennie. A kifejezés kiértékelője a nyitó és záró ([]) szögletes zárójeleket használja az azonosítók minősítéséhez. A zárójelek a karakterlánc első és utolsó pozíciójába kerülnek. Az 5$> azonosító például [5$>] lesz. A szögletes zárójelek oszlopnevekkel, változónevekkel és függvénynevekkel is használhatók.

Ha az SSIS Designer párbeszédpanelek használatával készít kifejezéseket, a rendszer automatikusan szögletes zárójelekbe foglalja a normál azonosítókat. A zárójelek azonban csak akkor szükségesek, ha a név érvénytelen karaktereket tartalmaz. A MiddleName nevű oszlop például szögletes zárójelek nélkül érvényes.

Nem hivatkozhat olyan oszlopnevekre, amelyek zárójeleket tartalmaznak a kifejezésekben. Az Oszlop[1] oszlopnév például nem használható kifejezésben. Az oszlop kifejezésben való használatához szögletes zárójelek nélküli új nevet kell adni.

Származás-azonosítók

A kifejezések az oszlopokra való hivatkozáshoz használhatnak életút-azonosítókat. A csomag első létrehozásakor a rendszer automatikusan hozzárendeli az életút-azonosítókat. A speciális szerkesztő párbeszédpanel Oszloptulajdonságok lapján megtekintheti egy oszlop életút-azonosítóját az SSIS Designerben.

Ha egy oszlopra hivatkozik a névsorazonosítójával, az azonosítónak tartalmaznia kell a font (#) karakter előtagját. Egy 147-es vonalazonosítójú oszlopra például a 147-es számként kell hivatkozni.

Ha egy kifejezés elemzése sikeresen megtörtént, a kifejezésértékelő lecseréli az életút-azonosítókat oszlopnevekre a párbeszédpanelen.

Egyedi oszlopnevek

A csomagban használt több összetevő is elérhetővé teheti az azonos nevű oszlopokat. Ha ezeket az oszlopokat kifejezésekben használják, a kifejezések sikeres elemzése előtt egyértelműsíteni kell őket. A kifejezésértékelő támogatja a pontozott jelölést az oszlop forrásának azonosításához. Az Age nevű két oszlop például FlatFileSource.Age és OLEDBSource.Age lesz, ami azt jelzi, hogy a forrásuk FlatFileSource vagy OLEDBSource. Az elemző a teljesen minősített nevet egyetlen oszlopnévként kezeli.

A forrásösszetevők nevei és oszlopnevei külön vannak minősítve. Az alábbi példák a szögletes zárójelek érvényes használatát mutatják be:

  • A forrásösszetevő neve szóközöket tartalmaz.

    [MySo urce].Age  
    
  • Az oszlopnév első karaktere érvénytelen.

    MySource.[#Age]  
    
  • A forrásösszetevő és az oszlopnevek érvénytelen karaktereket tartalmaznak.

    [MySource?].[#Age]  
    

Fontos

Ha a pontozott jelölés mindkét eleme egy zárójelpárba van zárva, a kifejezés kiértékelője a párt egyetlen azonosítóként, nem pedig forrásoszlop-kombinációként értelmezi.

Változók a kifejezésekben

A kifejezésekben hivatkozott változóknak tartalmazniuk kell a @ előtagot. A Számláló változóra például a @Counter hivatkozik. A @karakter nem része a változó nevének; csak a kifejezés kiértékelőjének azonosítja a változót. Ha az SSIS Designer által biztosított párbeszédpanelek használatával hoz létre kifejezéseket, a @ karakter automatikusan hozzáadódik a változó nevéhez. Nem érvényes szóközök beillesztése az @ karakter és a változó név közé.

A változónevek ugyanazokat a szabályokat követik, mint a többi normál azonosító esetében:

  • A név első karakterének a Unicode Standard 2.0 által meghatározott betűnek vagy aláhúzásjelnek (_) kell lennie.

  • A következő karakterek lehetnek betűk vagy számok a Unicode Standard 2.0-ban meghatározottak szerint, az aláhúzásjel (_), a @, a $és a # karakterek.

Ha egy változó neve a felsoroltaktól eltérő karaktereket tartalmaz, a változót szögletes zárójelek közé kell foglalni. A szóközökkel rendelkező változóneveket például szögletes zárójelek közé kell foglalni. A nyitó zárójel a @ karaktert követi. A Saját név változóra például a következőként hivatkozik: @[Saját név]. Nem megengedett, hogy szóközök legyenek a változó név és a zárójelek között.

Megjegyzés:

A felhasználó által definiált és a rendszerváltozók neve érzékeny a kis- és nagybetűkre.

Egyedi változónevek

Az Integration Services támogatja az egyéni változókat, és rendszerváltozókat biztosít. Alapértelmezés szerint az egyéni változók a felhasználónévhez , a rendszerváltozók pedig a rendszernévtérhez tartoznak. Létrehozhat további névtereket egyéni változókhoz, és az alkalmazás igényeinek megfelelően frissítheti a névtérneveket. A kifejezésszerkesztő az összes névtér hatókörön belüli változóit listázza.

Minden változó hatókörrel rendelkezik, és egy névtérhez tartozik. A változók csomaghatókörrel vagy a csomagban lévő tároló vagy feladat hatókörével rendelkezik. Az SSIS Designer kifejezésszerkesztője csak a hatókörön belüli változókat sorolja fel. További információ: Integration Services (SSIS) változók és változók használata a csomagokban.

A kifejezésekben használt változóknak egyedi névvel kell rendelkezniük ahhoz, hogy a kifejezés kiértékelője helyesen értékelje ki a kifejezést. Ha egy csomag több azonos nevű változót használ, a névtereknek eltérőnek kell lenniük. Az Integration Services két kettőspontból (::)) álló névtérfeloldási operátort biztosít egy változó névterével való minősítéséhez. Az alábbi kifejezés például két, Darabszám nevű változót használ; az egyik a felhasználónévhez , a másik a MyNamespace névtérhez tartozik.

@[User::Count] > @[MyNamespace::Count]  

Fontos

A névtér és a minősített változónév kombinációját zárójelek közé kell foglalnia ahhoz, hogy a kifejezés kiértékelője felismerje a változót.

Ha a Felhasználónév névterében a Count értéke 10, a MyNamespaceCount értéke pedig 2, akkor a kifejezés igaz értéket ad, mert a kifejezés kiértékelője két különböző változót ismer fel.

Ha a változónevek nem egyediek, nem történik hiba. Ehelyett a kifejezés-kiértékelő a változónak csak egy példányát használja a kifejezés kiértékeléséhez, és helytelen eredményt ad vissza. Az alábbi kifejezés például két különálló Count változó értékeinek (10 és 2) összehasonlítására szolgál, de a kifejezés hamis értékre van kiértékelve, mert a kifejezés kiértékelője kétszer használja a Count változó azonos példányát.

@Count > @Count  

Technikai cikk, SSIS Expression Cheat Sheet, a pragmaticworks.com weboldalon