SSIS Create View e Select

mercoledì 17 settembre 2008 - 14.40

Pongo Profilo | Senior Member

Ciao a tutti!!

Premetto che sono assolutamente inesperto di SSIS! In sql ho una query che controlla se ci sono delle view, se si le cancella, ne crea altre,
le unisce "tutte insieme" con alcune outer join e vabbè.

In sql eseguo tutto insieme con i vari go prima di ogni create.

Quando cerco di creare un Datasource con query sql, al massimo riesco a creare una sola view......

Io vorrei fare tutto con qualcosa di schedulato e poi riversare il risultato finale in un foglio excel.

Avete suggerimenti?

Per essere più precisi il flusso dovrebbe essere questo:
go
create view 1 as select....

go
create view 2 as select..

go
select * from 1 left join 2 on.....

E il risultato di questa select va in file excel!!!

Grazie a chi mi suggerisce qualcosa!

alx_81 Profilo | Guru

>Ciao a tutti!!
Ciao!

>Premetto che sono assolutamente inesperto di SSIS! In sql ho
>una query che controlla se ci sono delle view, se si le cancella,
>ne crea altre,
>le unisce "tutte insieme" con alcune outer join e vabbè.
Prova a spiegare un po' meglio la situazione reale..
Fammi capire.. in base a cosa devi creare le view? Sono un numero fisso?
Hai un db di configurazione o particolari criteri?
Probabilmente il tutto si può riassumere in un paio di stored procedure.
Una che crea gli oggetti e una che legge le viste in join.
In seguito, tramite SSIS esporti in EXCEL..

>Grazie a chi mi suggerisce qualcosa!
di nulla!
--

Alessandro Alpi | SQL Server MVP

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi
http://italy.mvps.org

Pongo Profilo | Senior Member

Ciao allora ecco qui il problema:

ho varie tabelle che devono essere unite in join per trovare i codici prodotto, i nodi cui sono associati e la descrizione. poi devo mettere questi dati in join con una tabella per trovare il totale dei movimenti di scarico, di carico, di vendita. (devo usare la funzioni di aggregazione sum)

La miglior cosa che mi è venuta in mente nel breve termine è stata creare una view per ogni tipologia di dato richiesto (wiew uno=codice, descrizione, carichi|| view2= codice, scarichi|| view3=codice, vendite) e poi unire tutte le view con una left outer join.

In quetso modo ho tutti i codici del negozio, più gli scarichi per codice, i carichi per codice, le vendite per codice.

Secondo te posso procedere per qualche altra via?? Una store procedure potrebbe aiutarmi??

alx_81 Profilo | Guru

>La miglior cosa che mi è venuta in mente nel breve termine è
>stata creare una view per ogni tipologia di dato richiesto (wiew
>uno=codice, descrizione, carichi|| view2= codice, scarichi||
>view3=codice, vendite) e poi unire tutte le view con una left
>outer join.
>In quetso modo ho tutti i codici del negozio, più gli scarichi
>per codice, i carichi per codice, le vendite per codice.
Va bene fare le tre viste e va bene joinarle. Ma non capisco perchè devi ricreare ogni volta le viste.
Non puoi crearle, e poi fare una stored che esegue la select sulle tre viste (in outer join)?
Poi puoi utilizzare quella stored procedure come sorgente di un DataFlow. Da lì, arrivare alla destinazione Excel è solo un passo
--

Alessandro Alpi | SQL Server MVP

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi
http://italy.mvps.org

Pongo Profilo | Senior Member

Alessandro,intanto grazie pe rle risposte!
Le view sono ogni giorno diverse poichè ogni giorno devono estrarre dati diversi!

Ho risolto più o meno tutto, a paste questo!

L'origine dati riversa su una destinazione excel. Il problema è che nella destinazione excel devo lanciare a mano la creazione del file e quindi
se metto il dtsx in un job, questo mi da errore poichè non riesce a creare la destinazione.

Io vorrei che ogni volta venisse creato un file in modo automatico, poi ho un altro job che lo prende, lo rinomina e lo trasferisce ad un altra macchina.

Come posso fare??

Pongo Profilo | Senior Member

Ho letto alcuni interventi a ruguardo e mi dicevano che non è possibile eliminare le righe di un file excel.

Allora a sto punto ho pensato: aggiungo un file system task che mi copia un modello file, poi la copia viene scritta e un altro task la copia altrove dopo aver eseguito le operazioni del dts.

Il problema è che il controllo sull'integrita viene fatto a "compile time" per così dire e non a "runtime" cioè quando avviene la chiamata al task!

Sempre che abbia senso parlare di compile time e runtime, ma passatemi la licenza!

Altro problema: se faccio girare tutto in debug funziona senza problemi, se invece lo lancio "a mano" o senza debug mi da "productleveltolow"!!==>

Ho scoperto che ci serve un servizio attivo "sql integration services" e io non ce l'ho. Ho sqlserver 2005 standard edition. Posso installare e/o attivare quel che mi serve??
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5