Wraz ze zmianą konfiguracji pakietów w 2008 r. W porównaniu z 2005 r., Kiedy podałem / ConfigFile coś.dtsConfig w wierszu poleceń, zmienne zdefiniowane w pakiecie zachowują swoje wartości czasu projektowania zamiast używać ustawień z pliku konfiguracyjnego.
Nie jestem do końca pewien, jak rozumiem, JAK w ogóle uzyskać zewnętrzny plik konfiguracyjny. Przeczytałem artykuły, które mówią, że tylko skonfigurowane konfiguracje w czasie projektowania zastąpią ładowanie zewnętrznego pliku. Czy to oznacza, że mogę zmienić zmienne na puste ciągi i wtedy zostaną one nadpisane? Nie mogę całkowicie usunąć zmiennej! Co z liczbami całkowitymi?
Widziałem artykuły, które wspominają o wyłączaniu za pomocą konfiguracji pakietów w pakiecie.
Mogę użyć edytora pakietów SSIS lub edytora XML, aby zmienić ścieżkę pliku konfiguracyjnego w pakiecie, a następnie użyje ustawień tego pliku „ostatni” (niezależnie od opcji zewnętrznego / ConfigFile), ale nie chcę być zmiana pakietu. Chcę jednego pakietu z Test.dtsConfig i Production.dtsConfig i mieć możliwość przełączania się tam iz powrotem bez zmiany pakietu.
Jaka jest teraz zalecana metoda?
źródło
Odpowiedzi:
Musisz wziąć pod uwagę, że podczas uruchamiania przez BIDS pakiet pobierze najpierw wartość zmiennej z pliku konfiguracyjnego i tylko jeśli plik konfiguracyjny nie istnieje, wygeneruje ostrzeżenie i wartość zostanie pobrana z pakietu.
Teraz sytuacja w linii poleceń jest nieco inna. Możesz mieć następujące sytuacje:
uruchom pakiet w linii cmd bez wybranego pliku konfiguracyjnego:
uruchom pakiet w linii cmd bez wybranego pliku konfiguracyjnego, ale ze zmienną ustawioną w wywołaniu:
uruchom pakiet w linii cmd z nowym plikiem konfiguracyjnym (powiedzmy DEV zamiast Prod):
uruchom pakiet w wierszu cmd z nowym plikiem konfiguracyjnym i instrukcją SET w wywołaniu:
Krótko mówiąc, jeśli chcesz użyć nowego pliku konfiguracyjnego, musisz zmienić nazwę / przenieść stary i wywołać pakiet za pomocą / configFile. Jeśli to nie wystarczy i chcesz zastąpić nawet nowy plik konfiguracyjny, użyj zmiennej / SET. Lub możesz ominąć dowolny plik konfiguracyjny i po prostu użyć instrukcji / SET w wywołaniu wsadowym.
Mam nadzieję, że rzuci to trochę światła na twoje możliwości.
źródło