Immaginavo
: ho spostato il thread nel forum corretto.
E' un problema di sicurezza: i package sono salvati come file .dtsx, che altro non sono che file XML, e quindi i dati sensibili (la password) di default viene criptata in modo tale da far si che solo l'account che ha salvato il package la possa decriptare, per ovvie ragioni di sicurezza.
Il punto è che l'account con la quale viene eseguito il job da parte del SQL Server Agent è diverso dall'account dell'utente che ha salvato il package, e quindi la password non viene decriptata e quindi risulta vuota.
La spiegazione di tutto ciò che sta dietro a questa architettura è un pò lunga, e cmq la trovi in questo libro
http://www.microsoft.com/learning/en/us/books/12663.aspx,
oppure a questi indirizzo:
http://www.ugiss.org/Content/Article/An-SSIS-package-does-not-run-when-you-call-the-SSIS-package-from-a-SQL-Server-Agent-job-step.aspx
http://www.ugiss.org/Content/Article/Utilizzare-i-SQL-Server-Agent-Proxies-con-i-Package-SSIS.aspx
Per farla breve, però, il succo è questo: la soluzione più sicura in questo caso è quello di salvare il package nell'MSDB. Da Visual Studio devi fare "Save Copy Of Package As" e quindi scegliere "Sql Server". In questo modo fai il deployment del Package nel database MSDB e puoi quindi scegliere, al momento del deployment, la voce "Rely on server storage..." per cui le password non vengono criptate, dato che la sicurezza per l'accesso al package stesso viene gestita da SQL Server direttamente.
Fatto ciò devi assicurarti che l'account con la quale viene eseguito il job abbia l'accesso al package, inserendolo nei ruoli relativi gli Integration Services:
http://msdn.microsoft.com/en-us/library/ms141053(SQL.90).aspx
Buon lavoro! 