5

Sto facendo un piccolo pacchetto in SSIS (Integration Services) e nel mio flusso di controllo ho un paio di attività di script e alcuni flussi di dati che leggono i dati dai file XML nel database.Ripristino del codice cancellato da SQL Server Data Tools (Visual Studio)

Ho apportato alcune modifiche al codice C# in un'attività di script nell'editor di Visual Studio incorporato e ho premuto Salva. La stella con il nome del file è scomparsa, a indicare che il file è stato salvato. Ho chiuso l'editor di Visual Studio, ho salvato il pacchetto, ho fatto clic con il pulsante destro del mouse sull'attività di script e ho scelto "Esegui attività". Funzionava senza errori, ma i file XML che avrebbe dovuto creare non apparivano mai, così ho aperto di nuovo lo script nell'editor di Visual Studio, e per il mio horror c'era solo lo script predefinito (ad es. Solo il metodo principale e conteneva solo il Dts.TaskResult = (int)ScriptResults.Success; dichiarazione)!

Non riesco a trovare il codice che avevo in quell'attività di script e quando apro il file .dtsx in un editor di testo il mio codice è scomparso! Il codice nell'altra attività di script è lì comunque.

Ho prestato attenzione, quindi non ho eliminato per errore tutto prima di chiudere l'editor e salvare il pacchetto.

Quindi la mia domanda è: Qualcun altro ha riscontrato questo insano insano bug e c'è un modo per recuperare il codice; o devo solo mordere il proiettile e ricrearlo dalla memoria?

In questi lavori SSIS usiamo raramente una quantità significativa di codice C#, quindi non abbiamo alcun VCS integrato. Ho copiato il codice in un nuovo file e l'ho aggiunto manualmente al mio repository Git, solo per sicurezza, ma non l'avevo ancora fatto con questo particolare codice.

E non mi resta che ribadire la mia frustrazione con un tale incredibilmente male bug in Visual Studio ...

+0

In modo improbabile, ma cercate in voi l'equivalente di C: \ Users \ AlexK \ Documents \ Visual Studio 2013 \ File di backup –

+0

Grazie, ma purtroppo quella cartella era vuota. Ho esaminato anche molte altre cartelle probabili e improbabili. Ho pensato fin dall'inizio che sono sfortunato, ma volevo solo vedere se qualcuno avesse una soluzione. Inoltre, è stato bello sfogarsi un po ', dato che un insetto del genere è incredibile. –

+0

Ho già avuto questo problema, ma solo perché ho premuto ANNULLA anziché OK per uscire dall'editor delle attività di script. Ciò che a volte confonde è che si sta lavorando sia nell'editor dei componenti sia in Visual Studio per modificare il codice. Suggerisco di inserire una quantità significativa di codice nel proprio progetto e chiamare invece la DLL dall'attività di script. –

risposta

2

Sto avendo un problema simile. È riproducibile. Il codice esiste in un'attività di script all'interno di un contenitore di foreach. Puoi entrare e visualizzare il codice per confermare che esiste così come le variabili impostate per read e readwrite. Quindi vai al foreach (contenitore genitore) e modifica una mappatura variabile. Torna all'attività di script e il codice è sparito. L'ho persino reso semplice come nessuna variabile utilizzata nell'attività di script e inserendo solo alcuni commenti. E succede ancora e ritorna al codice predefinito.

+0

Può confermare questo comportamento.Se una variabile viene modificata in un contenitore del ciclo foreach, il codice dell'attività di script nel contenitore, verrà cancellato dal codice quando viene caricato il progetto. –

+0

Attualmente ho un ticket di servizio aperto sul problema. Speriamo che ottenga più trazione. Ha pochi voti ed è in fase di revisione. https://feedback.azure.com/forums/908035-sql-server/suggestions/33215863-ssis-script-tasks-losing-code?tracking_code=36c251f37f8d7fef5c59a1d1456489bf – DataNerd

Problemi correlati