Domanda

Spero di spiegarlo correttamente.Ho un compito di script SSIS che interroga semplicemente una vista, riempie un datatabili con il risultato e emette il numero di righe che ha datatabili risultante.

SqlCommand cmd = new SqlCommand("select .....", conn);
                using (SqlDataAdapter da = new SqlDataAdapter(cmd))
                {
                    da.Fill(dt);
                    output += "Datatable row count " + dt.Rows.Count.ToString() + " \r\n";
                }
.

In Visual Studio Questo restituisce il risultato / rowcount corretto (165 righe).Quando salvare il pacco e lo eseguo come un passaggio in un lavoro di SQL Server, restituisce un rowcount di 0. (il lavoro funziona senza errori) stesso codice, stessa query, stessa connessione, stesse credenziali solo la differenza è che funziona quando ho colpito"Debug" all'interno del pacchetto in Visual Studio ma non quando eseguo il pacchetto come passaggio del lavoro di SQL Server.

Guidandomi arrabbiato!Qualcuno ogni idea?Molte grazie.

È stato utile?

Soluzione

Si consiglia di essere in esecuzione tramite lo strumento DTEXEC Command Line o il DTEXECUI per vedere quale comportamento produce.Ciò contribuirebbe a determinare se è un problema del pacchetto o un problema di lavoro.Inoltre, stai eseguendo questo all'interno di un compito di script SSIS?Se è così, SSIS offre un paio di costrutti per farlo in modo più standard (a SSIS).Ad esempio è possibile utilizzare una sorgente OLEDB all'interno di un dataFlow, quindi utilizzare l'attività RowCount per la segnalazione del conteggio ridotto che viene trasmesso attraverso la pipeline.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top