2012-05-08 23 views
5

W bieżącym projekcie nazwa bazy danych ciągle się zmienia i za każdym razem nie chcę modyfikować źródeł OLE DB. Dlatego chcę ustawić go jako zmienną. Oznacza to, że w każdym źródle OLE DB mogę używać go jako parametru. Wygląda jednak na to, że SSIS nie zezwala na przekazywanie nazwy bazy danych jako parametru. Co powinienem zrobić, aby zminimalizować moje zmiany?Jak ustawić nazwę bazy danych jako zmienną w SSIS?

Chciałbym zrobić coś takiego w SQL OLE DB Źródło:

Select OrderID 
    From ?.Order 

I wystarczy zmodyfikować moje zmiennej, gdy nazwa bazy danych zostanie zmieniona. Dzięki za wszelkie rozwiązania!

Odpowiedz

3

trzeba dodać konfiguracje pakietu do pakietu i ustawić nazwę bazy danych menedżer połączeń jako jedna z konfiguracji

enter image description here

Wystarczy kliknąć prawym przyciskiem dowolny pusty obszar w sprawie kontroli przepływ i wybierz "konfigurację pakietu" i postępuj zgodnie z instrukcjami kreatora.

Proponuję rozpocząć od konfiguracji XML, ponieważ jest łatwiejsza do zrozumienia.

0

Lubię zarządzać serwer \ Instance.Database w menedżer połączeń i schemat.nazwa lub Widok na zadania lub poziom adaptera. Polecam eksternalizację łańcuchów połączeń menedżera połączeń. W tym celu można użyć Konfiguracji pakietów lub można nim zarządzać samodzielnie (korzystam z tabeli z kolumnami ConnectionName i ConnectionString oraz szyfruję kolumnę ConnectionString). Moim zdaniem, zakodowana na sztywno nazwa bazy danych w pakiecie SSIS nie jest najlepszą praktyką.

Niedawno nagrał kilka sesji na SSIS zarządzania Connections - jeden dla 2005, 2008, and 2008 R2; another for 2012. Nagrałem także sesję pod numerem managing configurations in SSIS (chociaż dźwięk jest słaby).

Mam nadzieję, że ta pomoc.

Andy

Powiązane problemy