dtexec zwraca natychmiast bez żadnych komunikatów
On 30 listopada, 2020 by adminPróbuję skonfigurować wywołanie wiersza poleceń do dtexec w celu sprawdzenia poprawności pakietów, używając modelu projektu. Wzywam dtexec w ten sposób:
dtexec /val /proj my.ispac /pack my.dtsx /rep v
Chociaż rzeczywiste ścieżki do ispac i dtsx są dłuższe. Kiedy to uruchamiam, wszystko, co widzę na konsoli, to:
Microsoft (R) SQL Server Execute Package Utility Version 11.0.7001.0 for 32-bit Copyright (C) 2016 Microsoft. All rights reserved. Started: 10:40:01 AM PS D:\>
Cała sprawa trwa mniej niż sekundę, co prowadzi mnie do przekonania, że nic nie dało. I nie są wysyłane żadne wiadomości., Mimo że prosiłem o szczegółowe raportowanie.
Jakieś pomysły, jak to działa?
Odpowiedź
Prawie gotowe, składnia, której używasz jest poprawna, ponieważ nie możesz użyć skrótu /Val
. Z oficjalnej dokumentacji widać, że:
/ Rep [orting] level [; event_guid_or_name [; event_guid_or_name […]]
/ Pack [wiek] PackageName: (opcjonalnie). Określa pakiet, który jest wykonywany.
/ Rep [orting] level [; event_guid_or_name [; event_guid_or_name […]]
/ Proj [ect] ProjectFile: (opcjonalnie). Określa projekt, z którego ma zostać pobrany pakiet, który jest wykonywany.
Walidacja i faza wykonania: pakiet jest uruchamiany lub sprawdzany bez uruchamiania, jeśli / VALIDATE opcja została określona.
Zwróć też uwagę, że wykonując pakiet z projektu, nie dodawaj rozszerzenia pakietu .dtsx
Na podstawie tego spróbuj użyć następujące polecenie:
dtexec /Proj my.ispac /Pack my /Rep V /VALIDATE
Komentarze
- Ok – zabawne jest to, że nie ma komunikatów o błędach są wydawane. W ogóle nic. Również / val działa dobrze. Nie ' nie potrzebujesz całego słowa lub wielkich liter. Prawdziwym problemem jest dodanie określenia pełnej nazwy pakietu, w tym dtsx . Dziwne, że nie pojawiają się żadne komunikaty o błędach!
- @ user1443098 ok, zmniejszyłem cudzysłowy :). Wygląda na to, że problem został już rozwiązany. Dlaczego nie ' nie pisać odpowiedzi?
- Cóż, nie ' naprawdę nie mam odpowiedzi. Pytanie brzmi, dlaczego wraca natychmiast bez wiadomości? Nadal nie ' nie wiem. Myślę , że ma to coś wspólnego z nazwą pakietu, ale dlaczego nie ' nie wysyła żadnych wiadomości, jest dla mnie tajemnicą. Chcę komunikaty o błędach, jeśli program może ' t działać z podanymi parametrami. nadal myślę, że ' to odpowiedź częściowa.
Odpowiedź
Kiedy uruchamiasz dtexec z parametrami, których użyłem, nie możesz określić rozszerzenia pliku .dtsx z nazwą pakietu. Powoduje to natychmiastowe zakończenie programu, bez komunikatów o błędach.
Dlaczego dtexec nie wyświetla jakiegoś komunikatu o błędzie, tak jak sądzę, pozostaje tajemnicą.
Dodaj komentarz