5

Robię małą paczkę w SSIS (Integration Services), w moim strumieniu kontroli mam kilka zadań skryptowych i niektóre przepływy danych odczytujące dane z plików XML do bazy danych.Odzyskiwanie kodu usunięty przez SQL Server Data Tools (Visual Studio)

Wprowadziłem kilka zmian do kodu C# w zadaniu skryptu w wbudowanym edytorze Visual Studio i nacisnąłem save. Gwiazdka po nazwie pliku zniknęła, wskazując, że plik został zapisany. Zamknąłem edytor Visual Studio, zapisałem pakiet, kliknąłem prawym przyciskiem myszy zadanie skryptu i wybrałem "Execute task". Działał bez błędów, ale pliki XML, które miał stworzyć, nigdy się nie pojawiły, więc ponownie otworzyłem skrypt w edytorze Visual Studio i do mojego horroru był tylko domyślny skrypt (np. Tylko główna metoda i zawierała tylko Dts.TaskResult = (int)ScriptResults.Success; oświadczenie)!

Nie mogłem znaleźć kodu, który miałem w tym zadaniu skryptowym, a kiedy otwieram plik .dtsx w edytorze tekstu, mój kod zniknął! Kod w drugim zadaniu skryptu jest jednak.

Byłem uważny, więc nie ma mowy, żebym omyłkowo skasował wszystko przed zamknięciem edytora i zapisaniem paczki.

Moje pytanie brzmi: czy ktoś napotkał ten całkowicie szalony błąd i czy istnieje sposób na odzyskanie kodu; czy po prostu muszę ugryźć kulę i odtworzyć ją z pamięci?

Rzadko używamy znacznej ilości kodu C# w tych zadaniach SSIS, więc nie mamy żadnego zintegrowanego VCS. Kopiowałem kod do nowego pliku i ręcznie dodawałem go do mojego repozytorium Git, aby być bezpiecznym, ale jeszcze nie zrobiłem tego z tym konkretnym kodem.

A ja po prostu trzeba przekształcić moją frustrację z taką zadziwiająco złe błąd w Visual Studio ...

+0

Mało prawdopodobne, ale spójrz na swój odpowiednik C: \ Users \ AlexK \ Documents \ Visual Studio 2013 \ Pliki kopii zapasowej –

+0

Dzięki, ale niestety ten folder był pusty. Przejrzałem także wiele innych prawdopodobnych i mało prawdopodobnych folderów. Od początku zakładałem, że nie mam szczęścia, ale chciałem tylko sprawdzić, czy ktoś ma jakieś rozwiązanie. Poza tym miło było trochę odpowiedzieć, bo taki błąd to oszałamiający umysł. –

+0

Miałem to już wcześniej, ale tylko dlatego, że kliknąłem ANULUJ zamiast OK wychodząc z edytora zadań skryptowych. Czasami mylące jest to, że pracujesz zarówno w edytorze komponentów, jak i Visual Studio, aby edytować kod. Sugeruję umieszczenie znacznej ilości kodu w jego własnym projekcie i wywołanie biblioteki DLL z zadania skryptu. –

Odpowiedz

2

Mam podobny problem. Jest powtarzalny. Kod istnieje w zadaniu skryptowym wewnątrz kontenera foreach. Możesz wejść i zobaczyć kod, aby potwierdzić, że istnieje, a także zmienne ustawione dla odczytu i odczytu. Następnie przejdź do foreach (kontener nadrzędny) i zmień mapowanie zmiennych. Wróć do zadania skryptu, a kod zniknął. Zrobiłem nawet tak proste, jak żadne zmienne nie są używane wewnątrz zadania skryptu i tylko wprowadzenie niektórych komentarzy. I nadal się dzieje i wraca do domyślnego kodu.

+0

Może potwierdzić to zachowanie.Jeśli zmienna zostanie zmieniona w kontenerze pętli foreach, kod zadania skryptu w tym kontenerze zostanie usunięty z kodu, gdy projekt zostanie załadowany. –

+0

Mam obecnie otwarty bilet użytkownika na problem. Mam nadzieję, że uzyska on większą przyczepność. Ma kilka głosów w górę i jest w trakcie przeglądu. https://feedback.azure.com/forums/908035-sql-server/suggestions/33215863-ssis-script-tasks-losing-code?tracking_code=36c251f37f8d7fef5c59a1d1456489bf – DataNerd

Powiązane problemy