Udostępnij za pośrednictwem


Identyfikatory (wyrażenia SSIS)

W wyrażeniach identyfikatory są kolumny i zmiennych, które są dostępne dla tej operacji.Wyrażenia można używać identyfikatorów regularne i kwalifikowaną.Regularne identyfikator jest identyfikator, który wymaga nie dodatkowych kwalifikatorów.Na przykład MiddleName, kolumna w Kontakty tabelaAdventureWorks bazy danych, jest regularne identyfikatorem.Kwalifikowanego identyfikatora jest identyfikator, który jest rozdzielany w nawiasy klamrowe.Identyfikator może wymagać ogranicznik nazwa identyfikatora zawiera spacje lub nazwa identyfikatora nie rozpoczyna się od litery lub znaku podkreślenia.Na przykład nazwa kolumna Drugie imię muszą być kwalifikowane w nawiasy klamrowe i zapisywane jako [drugie imię] wyrażenie.

Pakiet może obejmować źródła danych, które narażają kolumny o tej samej nazwie.Aby disambiguate kolumn, modułu szacującego wyrażenie obsługuje notacji z kropkami, która jest zgodna z nazwą kolumna z nazwą urządzenie źródłowe.Na przykład urządzenie źródłowe o nazwie GetGeographyData kolumna o nazwie GeographyKey, kolumna można się odwoływać za pomocą GetGeographyData.GeographyKey.

Pakiet może mieć wiele zmiennych o takiej samej nazwie, tak długo, jak należą do różnych obszarów nazw.Modułu szacującego wyrażenie zawiera operator rozpoznawania nazw, który pozwala zidentyfikować nazw zmiennych.Aby uzyskać więcej informacji zobaczSkładnia (wyrażenia SSIS).

Regularne identyfikatory

Nazw identyfikatorów regularnych musi być zgodny z tych reguł:

  • Pierwszy znak nazwy musi być literą zdefiniowaną w standardzie Unicode 2.0 lub znaku podkreślenia (_).

  • Kolejne znaki mogą być liter lub cyfr zdefiniowany w standardzie Unicode 2.0 Standard znaku podkreślenia (_), @, $ i # characters.

Important noteImportant Note:

Osadzonych spacji i znaków specjalnych innych niż te, na liście, które nie są dozwolone w regularnych identyfikatorów.Aby korzystać z spacje i znaki specjalne, należy użyć kwalifikowanego identyfikatora zamiast zwykłego identyfikator.

Identyfikatory kwalifikowaną

Jeśli nazwa identyfikatora zawiera spacje lub nazwa jest nazwą prawidłowy identyfikator regularnych, identyfikator musi być kwalifikowany.Modułu szacującego wyrażenie używa otwarcia i nawiasy kwadratowe ([]) zamykanie do kwalifikowania identyfikatorów.Nawiasy są umieszczane w pierwszej i ostatniej pozycji w ciąg.Na przykład $ identyfikator 5> staje się [5 $>]. Nawiasy można używać z kolumna funkcja nazw i nazwy zmiennych.

W przypadku tworzenia wyrażeń przy użyciu SSIS Projektanta oknach dialogowych, regularne identyfikatory automatycznie są ujęte w nawiasy. Jednak nawiasy są wymagane tylko wtedy, gdy nazwa zawiera nieprawidłowe znaki.Na przykład kolumna o nazwie MiddleName obowiązuje bez nawiasu.

Nie można odwoływać się do kolumna nazwy zawierające nawiasy w wyrażeniach.Na przykład nazwa kolumny Kolumna [1 nie można używać w wyrażenie.Aby użyć kolumna w wyrażeniu muszą można zmienić nazwy do nazwy bez nawiasu.

Identyfikatory rodowodu

Wyrażenia można użyć identyfikatorów rodowodu do odwoływania się do kolumn.Identyfikatory rodowodu są przypisywane automatycznie podczas tworzenia pakiet.Identyfikator rodowodu kolumna można przeglądać na Właściwości kolumna Karta Zaawansowany edytor pole dialogowe SSIS Projektant.

Jeśli użytkownik odwołuje się do kolumna za pomocą identyfikatora rodowodu identyfikator musi zawierać krzyżyka () #character prefiksu.Na przykład kolumna z identyfikatorem rodowodu 147 musi odwoływać się jako # 147.

Jeśli wyrażenie zostanie przetworzony pomyślnie, modułu szacującego wyrażenie zastępuje identyfikatory rodowodu z kolumna nazwy w oknie dialogowym.

Unikatowe nazwy kolumna

Wiele składników używanych w pakiecie może narazić kolumny o tej samej nazwie.Jeśli te kolumny są używane w wyrażeniach, musi być disambiguated przed wyrażenia mogą być analizowane pomyślnie.Modułu szacującego wyrażenie obsługuje notacji do identyfikowania urządzenie źródłowe kolumna.Na przykład dwie kolumny o nazwie Okres ważności become FlatFileSource.Age and OLEDBSource.Age, co oznacza, że ich źródła są FlatFileSource lub OLEDBSource.Analizator składni traktuje w pełni kwalifikowanej nazwy jako pojedyncze kolumna nazwy.

Składnik nazw źródeł i kolumna nazwy są kwalifikowane oddzielnie.Następujące przykłady przedstawiają prawidłowe użycie nawiasów w zapisie kropkowo-cyfrowym:

  • Nazwa urządzenie źródłowe składnik zawiera znak spacji.

    [MySo urce].Age
    
  • Pierwszy znak w nazwie kolumna jest nieprawidłowa.

    MySource.[#Age]
    
  • Składnik urządzenie źródłowe i nazwy kolumn zawiera nieprawidłowe znaki.

    [MySource?].[#Age]
    
Important noteImportant Note:

Jeśli oba elementy w notacji są ujęte w jedną parę nawiasów, modułu szacującego wyrażenie interpretuje parę jako pojedynczy identyfikator nie kombinacji kolumna źródłową.

Zmienne w wyrażeniach

Zmienne, gdy w wyrażeniach, musi zawierać @ prefiksu.Na przykład Licznik za pomocą @ licznika odwołuje się do zmiennej. Znak @ nie jest częścią nazwy zmiennej; tylko identyfikuje zmiennej do modułu szacującego wyrażenie.W przypadku tworzenia wyrażeń przy użyciu okna dialogowego pól, które SSIS Projektant oferuje, znak @ jest automatycznie dodawany do nazwy zmiennej. Nie jest prawidłowe, spacji między @ znaków i nazwa zmiennej.

Nazwy zmiennych należy wykonać te same reguły, jak w przypadku innych identyfikatorów regularnego:

  • Pierwszy znak nazwy musi być literą zdefiniowaną w standardzie Unicode 2.0 lub znaku podkreślenia (_).

  • Kolejne znaki mogą być liter lub cyfr zdefiniowany w standardzie Unicode 2.0 Standard znaku podkreślenia (_), @, $ i # characters.

Jeśli nazwa zmiennej zawiera znaki inne niż wymienione, zmiennej muszą być ujęte w nawiasy.Na przykład ze spacjami w nazwach zmiennych muszą być ujęte w nawiasy.Nawiasem otwierającym następuje znak @.Na przykład Moja nazwa Odwołanie do zmiennej jak @ [nazwa sekcji Moje]. Nie jest prawidłowe, spacji między nazwą zmiennej i nawiasy kwadratowe.

Uwaga

Nazwy użytkownika i zmiennych systemowych jest uwzględniana wielkość liter.

Unikatowe nazwy zmiennej

Integration Services obsługuje niestandardowe zmienne i udostępnia zestaw zmiennych systemowych.By default, custom variables belong to the Usernamespace, and system variables belong to the System namespace.Można tworzyć dodatkowe obszary nazw zmiennych niestandardowych i Aktualizuj nazwy obszaru nazw do potrzeb aplikacji.Wyświetla listę Konstruktora wyrażenie w-zakres zmiennych w wszystkie obszary nazw.

Wszystkie zmienne mają zakres i należy do obszaru nazw.Zmienna ma zakres pakiet lub zakres pojemnika lub zadań w pakiecie.Konstruktor wyrażenie w SSIS Projektant wyświetla tylko zmienne w zakresie. Aby uzyskać więcej informacji zobacz Integration Services Variables i Za pomocą zmiennych w pakietach.

Zmienne używane w wyrażeniach muszą mieć unikatowe nazwy dla modułu szacującego wyrażenie do oceny wyrażenie poprawnie.If a package uses multiple variables with the same name, their namespaces must be different.Integration Services provides a namespace resolution operator, consisting of two colons (::), for qualifying a variable with its namespace.For example, the following expression uses two variables named Count; one belongs to the Usernamespace and one to the MyNamespace namespace.

@[User::Count] > @[MyNamespace::Count]
Important noteImportant Note:

Kombinacji obszaru nazw i kwalifikowaną nazwę zmiennej, należy ująć w nawiasy kwadratowe dla modułu szacującego wyrażenie rozpoznawanie zmiennej.

Jeśli wartość Licznik in the Użytkownik obszaru nazw jest 10, a wartość Licznik in MyNamespace wynosi 2, wyrażenie zostanie oszacowane jako true ponieważ modułu szacującego wyrażenie rozpoznaje dwie inne zmienne.

Jeśli w nazwach zmiennych nie są unikatowe, błąd nie wystąpi.Zamiast tego modułu szacującego wyrażenie używa tylko jedno wystąpienie zmiennej do oceny wyrażenia i zwraca niepoprawny wynik.Na przykład następujące wyrażenie jest przeznaczona do porównywania wartości (10 i 2) dla dwóch odrębnych Licznik wynikiem zmiennymi, ale wyrażeniefalse ponieważ ta sama instancja korzysta z modułu szacującego wyrażenie Licznik zmienna dwa razy.

@Count > @Count