SSIS - impostare file di origine per xml source

giovedì 13 novembre 2008 - 11.36

squilibrium Profilo | Junior Member

Ciao a tutti

Ho un xml source in un dataflow (parliamo di SSIS 2005) al quale devo passare il file xml e il file xsd per caricarsi i dati.
Il fastto è che dovrei passare il percorso relativo dei file e non quello assoluto in quanto siamo più persone a lavorare allo stesso progetto.
Se metto solo il nome del file, SSIS me lo cerca nella directory di visual studio. Sono quindi costretto a mettere il path assoluto ma ovviamente quando un mio collega va ad aprirlo,gli dice che il file non è trovato in quanto lui lavora su un altro percorso.
Questo problema in realtà è presente in ogni caso in cui è necessario passare un percorso.

Qualcuno sa come (e se) è possibile risolvere?

Grazie

alx_81 Profilo | Guru

>Ciao a tutti
Ciao!

>Ho un xml source in un dataflow (parliamo di SSIS 2005) al quale
>devo passare il file xml e il file xsd per caricarsi i dati.
>Il fastto è che dovrei passare il percorso relativo dei file
>e non quello assoluto in quanto siamo più persone a lavorare
>allo stesso progetto.
>Se metto solo il nome del file, SSIS me lo cerca nella directory
>di visual studio. Sono quindi costretto a mettere il path assoluto
>ma ovviamente quando un mio collega va ad aprirlo,gli dice che
>il file non è trovato in quanto lui lavora su un altro percorso.
>Questo problema in realtà è presente in ogni caso in cui è necessario
>passare un percorso.
>Qualcuno sa come (e se) è possibile risolvere?
Ma relativo a cosa? Dov'è il file?
Non potete metterlo in una share di rete?

>Grazie
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

squilibrium Profilo | Junior Member

Ciao

In pratica noi abbiamo creato un componente custom e non trovando il modo di passargli dei parametri, abbiamo usato un file xml che contiene gli stessi (non so quanto possa essere valida ma è l'unica soluzione che abbiamo trovato).

Attraverso un xml source, leggiamo i dati nel file xml e li passiamo (come se fosse un buffer) al custom component.

in pratica lo usiamo come un file di configurazione (visto che non sappiamo come creare delle proprietà personalizzate sul componente).

il meccanismo funziona ma ovviamente dato che ognuno lavora sul proprio pc con una propria directory per il progetto, dobbiamo ogni volta modificare il path del file xml perchè non è possibile inserne uno relativo.

Penso che una share di rete risolva il problema ma mi domando perchè non sia possibile fare ciò...

alx_81 Profilo | Guru

>Ciao
Ciao!

>il meccanismo funziona ma ovviamente dato che ognuno lavora sul
>proprio pc con una propria directory per il progetto, dobbiamo
>ogni volta modificare il path del file xml perchè non è possibile
>inserne uno relativo.
>Penso che una share di rete risolva il problema ma mi domando
>perchè non sia possibile fare ciò...
Sicenramente non ne vedo l'utilità.. Nel senso che se usi un path relativo, comunque ogni sviluppatore deve avere l'xsd in locale.
Ha più senso averne uno in uno share di rete dal quale ogni pc può leggere con semplicità..
--

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

squilibrium Profilo | Junior Member

Il file xsd possiamo anche metterlo inline nel file xml. Il discorso è più che altro che alla fine il file xml lo utilizziamo come un file di configurazione e ci piace l'idea di averlo nella directory insieme agli altri file .config.

Adesso comunque INSPIEGABILMENTE funziona. Sono andato a modificare il file di configurazione del package (premetto che non ho fatto modifiche l'ho solo aperto e richiuso dal menu 'SSIS -> Package configurations' senza toccare nulla) e ora incredibilmente individua il file xml e non va più a cercarlo nella directory di visual studio.

Non so se sono io ma ogni tanto SSIS mi riserva qualche sorpresa soprattuto dal tool di sviluppo... Sai per caso se nella versione 2008 ci sono dei miglioramenti da questo punto di vista?


alx_81 Profilo | Guru

>Il file xsd possiamo anche metterlo inline nel file xml. Il discorso
>è più che altro che alla fine il file xml lo utilizziamo come
>un file di configurazione e ci piace l'idea di averlo nella
>directory insieme agli altri file .config.
Ma in che cartella lo vorresti? Di che applicazione?

>Adesso comunque INSPIEGABILMENTE funziona. Sono andato a modificare
>il file di configurazione del package (premetto che non ho fatto
>modifiche l'ho solo aperto e richiuso dal menu 'SSIS -> Package
>configurations' senza toccare nulla) e ora incredibilmente individua
>il file xml e non va più a cercarlo nella directory di visual
>studio.
Stai attento.. perchè è soggettiva la cosa.. potrebbe essere che a te va ma domani no.. dipende dallo stato di esecuzione..
E' comunque inaffidabile. Credimi, fatti un repository centrale, nel quale poi pubblicherai i tuoi SSIS da usare in produzione.

>Non so se sono io ma ogni tanto SSIS mi riserva qualche sorpresa
>soprattuto dal tool di sviluppo... Sai per caso se nella versione
>2008 ci sono dei miglioramenti da questo punto di vista?
SSIS è un prodotto nuovo.. l'ho anche scritto in un articolo.. Seppure sia passato tanto ormai, è ancora soggetto a continue trasformazioni in corsa.
Visto che il motore DTS è stato completamente riscritto, ci sta
La versione 2008 la uso da poco, e sinceramente grossi cambiamenti non ce ne sono..
Cerca di essere soddisfatto comunque dei vantaggi che già ti fornisce

>
>

--

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

squilibrium Profilo | Junior Member

> Ma in che cartella lo vorresti? Di che applicazione?

Semplicemente nella stessa directory dove risiede il package senza però dover specificare il percorso completo ma scrivendo solo il nome del file

> Stai attento.. perchè è soggettiva la cosa.. potrebbe essere che a te va ma domani no.. dipende dallo stato di esecuzione..
> E' comunque inaffidabile. Credimi, fatti un repository centrale, nel quale poi pubblicherai i tuoi SSIS da usare in produzione.
Quando andremo a pubblicare, metteremo sicuramente tutto su un repository centrale, il problema lo abbiamo ora in fase di sviluppo dove ognuno ha le proprie directory

> SSIS è un prodotto nuovo.. l'ho anche scritto in un articolo.. Seppure sia passato tanto ormai, è ancora soggetto a continue trasformazioni in corsa.
> Visto che il motore DTS è stato completamente riscritto, ci sta
> Sicuramente è stato un passo gigante rispetto ai dts

> La versione 2008 la uso da poco, e sinceramente grossi cambiamenti non ce ne sono..
> Cerca di essere soddisfatto comunque dei vantaggi che già ti fornisce
Lo sono è che lo sto utilizzando da poco e alcune volte non capisco bene quando è il prodotto ad avere problemi o quando sono io a non trovarne la soluzione

Grazie per le delucidazioni

alx_81 Profilo | Guru

>Quando andremo a pubblicare, metteremo sicuramente tutto su un
>repository centrale, il problema lo abbiamo ora in fase di sviluppo
>dove ognuno ha le proprie directory
Se fossi in te mi creerei l'ambiente in locale per lo sviluppo, identico a come lo farai in produzione

>Grazie per le delucidazioni
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
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