Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
SQL Server 2000/2005/2008, Express, Access, MySQL, Oracle
Ssis "cura" del db
mercoledì 08 ottobre 2008 - 12.12
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
memmo77
Profilo
| Expert
683
messaggi | Data Invio:
mer 8 ott 2008 - 12:12
Ciao ... Ale
. Stavo pensando ad un bel ssis che tenga cura del mio db. Integrità, manutenzione backup etc. Solo non so bene cosa fare, metterci e come partire. Che task dovrei utilizzare e in quale sequenza secondo te?
ps. complimenti per:
http://blogs.technet.com/alead_msft/archive/2008/09/25/intervista-ai-microsoft-mvp-alessandro-alpi.aspx
Io lo dico sempre che sei un grande
alx_81
Profilo
| Guru
8.814
messaggi | Data Invio:
mer 8 ott 2008 - 15:57
http://www.dotnethell.it/forum/messages.aspx?ThreadID=25771
occhio a non crosspostare troppo..
--
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
memmo77
Profilo
| Expert
683
messaggi | Data Invio:
mer 8 ott 2008 - 16:00
perdonami , ma il server mi dava errore e credevo non lo avesse inserito, ...invece si
. Grazie del consiglio mi do da fare e ti faccio sapere
memmo77
Profilo
| Expert
683
messaggi | Data Invio:
mer 8 ott 2008 - 16:23
Senti, non so se posso chiedertelo qui, o aprire un altro post (visto che ne ho già aperti 3
). In un ssis, come gestisco gli errori di un task? Cioè, io ho provato a collegare la "freccia" rossa del task che dovrei tenere sotto controllo, ma mi dice di Configurare le disposizioni .... (e poi non si legge + il messaggio). Come si gestiscono gli errori dei task? Grazie ciao
alx_81
Profilo
| Guru
8.814
messaggi | Data Invio:
mer 8 ott 2008 - 16:33
>Senti, non so se posso chiedertelo qui, o aprire un altro post
>(visto che ne ho già aperti 3
). In un ssis, come gestisco
>gli errori di un task? Cioè, io ho provato a collegare la "freccia"
>rossa del task che dovrei tenere sotto controllo, ma mi dice
>di Configurare le disposizioni .... (e poi non si legge + il
>messaggio). Come si gestiscono gli errori dei task?
Ma sei in control flow o data flow?
--
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
memmo77
Profilo
| Expert
683
messaggi | Data Invio:
mer 8 ott 2008 - 16:37
Sono in Data Flow.
Adesso stavo vedendo il gestore eventi. Ma non so come recuperare il "record" che mi da errore. Ho visto che se va in OnError mi finisce li e mi sono stampato un messaggio al volo.
alx_81
Profilo
| Guru
8.814
messaggi | Data Invio:
mer 8 ott 2008 - 16:45
>Sono in Data Flow.
In dataflow, devi configfurare l'error Output.. ti faccio un esempio:
832x194
28Kb
745x273
27Kb
Devi dirgli di ridirigere la riga e poi la freccia rossa la devi mettere in un task di destinazione o uno script, tanto per poter mettere un dataviewer.. Evitando di scrivere dati da qualche parte. Se ti serve un log degli errori, usa una destinazione, sennò anche uno script come trasformazione è sufficiente.
--
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
memmo77
Profilo
| Expert
683
messaggi | Data Invio:
mer 8 ott 2008 - 16:52
Configure error Output lo trovo sul task colonna derivata. Nel mio caso servirebbe su un tasl comando ole db. L'ho collegato ad un file di testo, ho messo la freccia rossa e gli ho detto reindirizza record. Sembra prenderlo correttamente, solo che quando va in errore si blocca al task comando ole db e non mi scrive nulla sul file.
Come ti ripeto però non trovo qui la voce Configure error Output, che si vede nella prima immagine che hai messo.
Grazie
alx_81
Profilo
| Guru
8.814
messaggi | Data Invio:
mer 8 ott 2008 - 17:00
>Configure error Output lo trovo sul task colonna derivata. Nel
>mio caso servirebbe su un tasl comando ole db. L'ho collegato
>ad un file di testo, ho messo la freccia rossa e gli ho detto
>reindirizza record. Sembra prenderlo correttamente, solo che
>quando va in errore si blocca al task comando ole db e non mi
>scrive nulla sul file.
Hai messo un dataviewer? aggiungilo alla freccia rossa, così vedi se effettivamente passa di lì.
L'oledb command ha l'errore implicito, è corretto come hai fatto tu.
--
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
memmo77
Profilo
| Expert
683
messaggi | Data Invio:
mer 8 ott 2008 - 17:10
Niente da fare, non mi ci va. Si blocca, il task diventa rosso, va in errore, ma non finisce ne sul datawiever ne sulla prova di prima sul file flat. Eppure la freccia rossa è collegata, il reindirizzamento del record c'è ... boh
alx_81
Profilo
| Guru
8.814
messaggi | Data Invio:
mer 8 ott 2008 - 17:30
Allora è un problema che hai a priori..
Prova a passare il SSIS..
--
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
memmo77
Profilo
| Expert
683
messaggi | Data Invio:
gio 9 ott 2008 - 10:24
Ecco nello specifico quello che succede:
595x509
137Kb
Al momento dell'errore non va avanti. Adesso ti preparo quel pezzo ete lo mandi, tutto il ssis è molto + grande. Ma che tu sappia, c'è da abilitare o impostare a true qualcosa per fargli gestire l'errore?
Non capisco faccio tutto ma non va. Grazie ciao
alx_81
Profilo
| Guru
8.814
messaggi | Data Invio:
ven 10 ott 2008 - 01:41
>Al momento dell'errore non va avanti. Adesso ti preparo quel
>pezzo ete lo mandi, tutto il ssis è molto + grande. Ma che tu
>sappia, c'è da abilitare o impostare a true qualcosa per fargli
>gestire l'errore?
No, basta ridirigere la riga.. ma dipende se l'errore te lo da a runtime oppure se in quel momento sta validando..
Devi cercare di capire dall'explorer alla fine l'errore che torna.. se è troncato, premi il destro del mouse sulla stringa e fai copy text. Incollalu su un blocco note e controlla meglio l'errore che ti torna.
Se riesci, manda il pezzo..
ciao!
--
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
memmo77
Profilo
| Expert
683
messaggi | Data Invio:
ven 10 ott 2008 - 10:00
784_BACKUP_DB.zip
Allora, l'errore che viene generato ha la seguente descrizione:
[PROSP|FUNZIONI|UP_VALUTE_NO [167]] Errore: Codice di errore SSIS DTS_E_OLEDBERROR. Si è verificato un errore OLE DB. Codice di errore: 0x80040E14. È disponibile un record OLE DB. Origine: "Microsoft SQL Native Client" Hresult: 0x80040E14 Descrizione: "Sintassi non corretta in prossimità di ','.".
So da cosa dipende e lo lascio proprio per cercare di scrivere l'errore e il record errato in un file di log. Ma niente la freccia rossa redirige i dati solo in caso di troncamento? Se così fosse, ci farei ben poco.
c'è anche questa notifica (punto esclamativo):
Avviso: Codice di avviso SSIS DTS_W_MAXIMUMERRORCOUNTREACHED. Il metodo Execution è stato completato, ma il numero di errori generati (3) è pari al massimo consentito (1) e pertanto viene restituito un errore. Questo errore si verifica quando il numero di errori raggiunge il valore specificato in MaximumErrorCount. Modificare l'impostazione MaximumErrorCount o correggere gli errori.
Ti allego anche il task.
Grazie ciao
alx_81
Profilo
| Guru
8.814
messaggi | Data Invio:
sab 11 ott 2008 - 01:05
>So da cosa dipende e lo lascio proprio per cercare di scrivere
>l'errore e il record errato in un file di log. Ma niente la freccia
>rossa redirige i dati solo in caso di troncamento? Se così fosse,
>ci farei ben poco.
Perchè quell'errore non gestisce l'errore di sintassi. Questo tipo di errore lo hai o a compile time o al momento del parsing del codice. Quindi non è gestibile tramite dataflow. L'errore di questo tipo va gestito a monte, esternamente. Se vuoi simulare un errore valido, metti una colonna NOT NULL e prova a non inserirvi nulla. Vedrai che dalla freccia rossa ci passa
>
>Avviso: Codice di avviso SSIS DTS_W_MAXIMUMERRORCOUNTREACHED.
>Il metodo Execution è stato completato, ma il numero di errori
>generati (3) è pari al massimo consentito (1) e pertanto viene
>restituito un errore. Questo errore si verifica quando il numero
>di errori raggiunge il valore specificato in MaximumErrorCount.
>Modificare l'impostazione MaximumErrorCount o correggere gli errori.
Sì questo è il messaggio standard.. a te interessa il primo. Gli altri sono la catena delle eccezioni che si scatenano e che vengono rilanciate in base alle impostazioni del package. Quel SSIS DTS_W_MAXIMUMERRORCOUNTREACHED è la proprietà MaximumErrorCount del container (nel tuo caso il DataFlow).
>Grazie ciao
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
memmo77
Profilo
| Expert
683
messaggi | Data Invio:
mer 15 ott 2008 - 09:18
>Perchè quell'errore non gestisce l'errore di sintassi. Questo tipo di errore lo hai o a compile time o al momento del parsing del codice. Quindi non è >gestibile tramite dataflow. L'errore di questo tipo va gestito a monte, esternamente. Se vuoi simulare un errore valido, metti una colonna NOT NULL e >prova a non inserirvi nulla. Vedrai che dalla freccia rossa ci passa
Quindi come posso gestire l'errore di sintassi? Si ho provato a troncare un dato e i dati finiscono nella freccia rossa. Però peccato, credevo ci finissero anche altri tipi di errore.
Grazie comunque. Ciao
alx_81
Profilo
| Guru
8.814
messaggi | Data Invio:
mer 15 ott 2008 - 14:45
>Quindi come posso gestire l'errore di sintassi?
eheh.. purtroppo, non riesci..
Puoi pensare di controllare tu con uno script transformation task ed una try catch sul comando che vai a comporre..
Ma trovo più corretto, in ogni applicazione, evitare che esistano errori di sintassi a monte..
>Si ho provato a troncare un dato e i dati finiscono nella freccia rossa. Però
>peccato, credevo ci finissero anche altri tipi di errore.
Quello di sintassi però non è un'errore vero e proprio dovuto al flusso dei dati o alla logica applicativa. Il controllo dovresti farlo tu.. Anche perchè, considera i linguaggi compilati, senza errori compili, altrimenti no
e quindi nemmeno il programma parte..
>Grazie comunque. Ciao
di nulla! Ciao!
PS: Se accetti la risposta, se ritieni che ti sia stata utile, chiudiamo il thread
--
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
Torna su
Stanze Forum
Elenco Threads
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 !