My issue was trying to have a DTS package connect to two remote databases and transfer data between the two of them (not on the server running the package). Before setting up a proxy, I would get errors when the job tried to run under the local server system account, which of course, has no privileges on any other server.
I followed all the steps to create a proxy account for a domain user with a password that does not expire. I still got the error: I would get the logon failure message.
After reading the last poster's message, I realized (thank you) that I had failed to go into the credential to change the password to the domain user account.
Resetting the password indeed works.
The SQL for creating a credential is as follows (got this from "How to Schedule and run a SSIS package (DTS) Job in SQL Server 2005." on CodeProject.com by hong wei li):
CREATE CREDENTIAL [SSISExecCredential] WITH IDENTITY = domain\username', SECRET = 'WindowLoginPassword'
sp_add_proxy @proxy_name = 'SSISExecProxy', @credential_name = 'SSISExecCredential'
sp_grant_login_to_proxy @login_name = 'ssisexec', @proxy_name = 'SSISExecProxy'
sp_grant_proxy_to_subsystem @proxy_name = 'SSISExecProxy', @subsystem_name = 'SSIS'
Note that you can use any proxy name, credential name and user name you want. The choices above were just easy for me to implement and track.