Cannot execute DTS package

P

Peter Afonin

Hello,

Our SQL server used to run under System account, and I had no problems
executing DTS packages from the ASP.NET:

Dim oPkg As DTS.Package
oPkg = CreateObject("DTS.Package")
oPkg.LoadFromSQLServer("WIN2000", , ,
DTS.DTSSQLServerStorageFlags.DTSSQLStgFlag_UseTrustedConnection, , , ,
"Import DPCK")
oPkg.Execute()
oPkg.UnInitialize()
oPkg = Nothing

Then we switched to the different account, and I cannot execute packages
anymore. I tried all accounts, including thos that have full access and
rights. If I use

DTSSQLStgFlag_UseTrustedConnection

I get this error

System.Runtime.InteropServices.COMException (0x80040E4D): Login failed for
user 'NT AUTHORITY\NETWORK SERVICE'. at
DTS._Package.LoadFromSQLServer(String ServerName, String ServerUserName,
String ServerPassword, DTSSQLServerStorageFlags Flags, String
PackagePassword, String PackageGuid, String PackageVersionGuid, String
PackageName, Object& pVarPersistStgOfHost) at
MakeXeroxFiles.MakeFiles.btnMake_Click(Object sender, EventArgs e)

If I use the flag DTSSQLStgFlag_Default and specify user name and password,
I still get similar message:

System.Runtime.InteropServices.COMException (0x80040E4D): Login failed for
user 'SPECIALTY\pafo'. at DTS._Package.LoadFromSQLServer(String ServerName,
String ServerUserName, String ServerPassword, DTSSQLServerStorageFlags
Flags, String PackagePassword, String PackageGuid, String
PackageVersionGuid, String PackageName, Object& pVarPersistStgOfHost) at
MakeXeroxFiles.MakeFiles.btnMake_Click(Object sender, EventArgs e)

If I add <identity impersonate="true" /> to the Web.config, I don't get an
error anymore, but the package doesn't execute either.

What can I do? I would appreciate your help very much.

Thank you,
 
H

Hermit Dave

good old asp.net.
Whats happening is that it is trying to execute the Query with context of NT
AUTHORITY\NETWORK SERVICE
since you are using trusted connection.

so either set up the above user to access SQL & the database.
or just use impersonate identity tag to impersonate a fixed user.

matrix detailing the execution context with asp.net
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnnetsec/html/SecNetAP05.asp

code project article which has snippet to allow aspnet account (worker
process in 2003 runs under Network Server) to the database
http://www.codeproject.com/cs/database/sql_in_csharp.asp

--

Regards,

Hermit Dave
(http://hdave.blogspot.com)
 
P

Peter Afonin

Thank you very much, Hermit, it worked.

The problem was that when I tried to add 'NT AUTHORITY\NETWORK SERVICE'
manually in Enterprise Mgr - I couldn't find it (I don't understand why),
but when I ran
EXEC sp_grantlogin 'NT AUTHORITY\NETWORK SERVICE' - it worked.

Peter

Hermit Dave said:
good old asp.net.
Whats happening is that it is trying to execute the Query with context of NT
AUTHORITY\NETWORK SERVICE
since you are using trusted connection.

so either set up the above user to access SQL & the database.
or just use impersonate identity tag to impersonate a fixed user.

matrix detailing the execution context with asp.net
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnnetsec/html/SecNetAP05.asp

code project article which has snippet to allow aspnet account (worker
process in 2003 runs under Network Server) to the database
http://www.codeproject.com/cs/database/sql_in_csharp.asp

--

Regards,

Hermit Dave
(http://hdave.blogspot.com)
 
H

Hermit Dave

yeah i tried it through enterprise manager as well and finally i went the
query analyser way to execute the stored procs :)

--

Regards,

Hermit Dave
(http://hdave.blogspot.com)
Peter Afonin said:
Thank you very much, Hermit, it worked.

The problem was that when I tried to add 'NT AUTHORITY\NETWORK SERVICE'
manually in Enterprise Mgr - I couldn't find it (I don't understand why),
but when I ran
EXEC sp_grantlogin 'NT AUTHORITY\NETWORK SERVICE' - it worked.

Peter

Hermit Dave said:
good old asp.net.
Whats happening is that it is trying to execute the Query with context
of
NT
AUTHORITY\NETWORK SERVICE
since you are using trusted connection.

so either set up the above user to access SQL & the database.
or just use impersonate identity tag to impersonate a fixed user.

matrix detailing the execution context with asp.net
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnnetsec/html/SecNetAP05.asp
code project article which has snippet to allow aspnet account (worker
process in 2003 runs under Network Server) to the database
http://www.codeproject.com/cs/database/sql_in_csharp.asp

--

Regards,

Hermit Dave
(http://hdave.blogspot.com)
get
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top