2013-03-21 8 views
12

Mam dokładnie to: same problem Szukałem tego, ale to jedyne miejsce, w którym widziałem ten sam problem i nie zostało rozwiązane.Kreator wyrażeń Menedżera połączeń nie pokazuje zmiennych Zmienna

Czy ktoś wie, jaki może być problem?

Sprawdziłem w Visual Studio, a moja wersja SSIS to 11.0.2100.60 (nie wersja próbna, nie beta).

EDIT: Są to kroki Biorę i kwestia

Najpierw wybrać Connection Manager, kliknij prawym przyciskiem myszy, wybierz Właściwości i kliknij w opcję Expressions step one

Następnie w Nieruchomość Kreator wyrażeń wybiera właściwość Ciąg połączenia i kliknij opcję Wyrażenie enter image description here

Wreszcie w oknie Kreatora wyrażeń nie ma opcji dla zmiennej s, na każdej przeczytanej stronie mówi, że powinien tam być węzeł Zmienne enter image description here

Czy brakuje mi czegoś?

+0

Wydaje się, że przywoływane pytanie ma wiele rzeczy. Na czym konkretnie polega twoje pytanie? – billinkc

+0

możesz odnieść się do pytania użytkownika CUQSY0 i jego pierwszej odpowiedzi (tej z zrzutami ekranu) te 2 posty opisują problem – jorgehmv

Odpowiedz

33

SSIS 2012 wprowadził pojęcie menedżerów połączeń na poziomie projektu. To, co widzę w odnośnym poście na forach MSDN, to użytkownik utworzył menedżera połączeń dla płaskiego pliku na poziomie projektu i nie jest w stanie skonfigurować go za pomocą zmiennej lokalnej. Zakładając, że to jest problem, moja odpowiedź brzmi następująco.

Projekt SSIS to zazwyczaj więcej niż jedna paczka. Aby uprościć życie, zespół SSIS pozwala teraz na dzielenie się wspólnymi zasobami w ramach projektów, a menedżerowie połączeń są jednym z tych zasobów.

Logicznie rzecz biorąc, jeśli coś jest współużytkowane w projekcie, to jak coś, co może istnieć tylko w jednym pliku, konfiguruje ten zasób? Ta zmiana konfiguracji zadziała tylko wtedy, gdy wykonywany jest pakiet Package1. Po uruchomieniu pakietu 2, o ile do udostępnionego zasobu nie zostanie zastosowane wyrażenie o tej samej zmienionej i, mogą wystąpić różne wyniki. To byłby koszmar utrzymania, którego możesz doświadczyć, jeśli nie masz silnych praktyk konfiguracyjnych.

Jeśli utworzę Menedżera połączeń dla plików płaskich na poziomie projektu, mogę tylko odwoływać się do zmiennych o wartości , a także na poziomie projektu. Poza tym, że nie ma zmiennych na poziomie projektu. Zamiast tego są one nazywane Parametry.

W tym celu stworzyłem parametr zwany SomeProjectParameter

project parameter

Potem stworzył pakiet, Package1.dtsx i dodano 2 Flat File Managers gra: FlatFileConnectionManagerLocal i FlatFileConnectionManagerProject

Zamiast że pakiet, stworzyłem także zmienną o nazwie SomeLocalVariable.

Ten zrzut ekranu pokazuje zastosowanie wyrażenia do właściwości ConnectionString FlatFileConnectionManagerLocal.Nie widać, że zarówno zmiennej pakiet, SomeLocalVariable jest również dostępne jako SomeProjectParameter

expression builder on local CM with parameter and local variable

Teraz, gdy próbuję zastosować wyraz menedżer połączeń projektu, trzeba będzie tylko parametry projektu dostępne dla Ciebie .

project CM and only parameters available

To ciekawe, że nie można stosować wyraz poziomie projektu Connection Manager poza kontekście pakietu SSIS. Po prostu nie masz dostępnego edytora, dopóki nie otworzysz otwartego pakietu SSIS. Ale po zastosowaniu, wszystkie pakiety w projekcie będą podobnie skonfigurowane.

Dziwacz z IDE, przypuszczam. Ponadto, nie przejmuj się brakiem kolorów na tych zrzutach ekranu, używam wersji SSDT z 2012 roku.

+2

wspaniałą odpowiedzią, tylko dla zapisu podążam za tutorialem http://msdn.microsoft.com/pl -us/library/ms169917.aspx, więc każdy, kto zastosuje się do tego samouczka z tą wersją narzędzi danych, napotka na ten sam problem. – jorgehmv

+3

@jorgehmv Doskonale, dobrze wiedzieć. Możesz zadać wszystkie pytania dotyczące SSIS, które chcesz tutaj. Mamy tu dość dobrą załogę, która ich wykańcza. – billinkc

+2

Excellent Billinkc odpowiedzi. Miałem ten sam problem z tym samym samouczkiem, a twój artykuł zakończył pełen dzień absolutnej frustracji. Tylko jedna sugestia: możesz dołączyć kilka słów o tym, jak utworzyć połączenie na poziomie pakietu lub zmienić połączenie na poziomie projektu z połączeniem na poziomie pakietu. – DRiggins

1

Miałem ten sam problem i było to spowodowane tym, że płaskie źródło pliku zostało ustawione jako źródło projektu, więc musiałem go przekonwertować na połączenie pakietowe.

Initial flat file source

prawym przyciskiem myszy i wybierz źródło konwersji do spakowania POŁĄCZENIE

Convert to package connection

Może to pomoże.

+0

Twoja odpowiedź została rozwiązana przez problem. Dziękuję Panu!!! – papfan

+0

Przyjemność pomogła. –