In message <eJrxJTdDFHA.3120 (AT) TK2MSFTNGP15 (DOT) phx.gbl>, Chris Kennedy
<chrisknospam (AT) cybase (DOT) co.uk> writes
Quote:
I have created a DTS where owner is the administrator of the SQL server. It
import data from an access database sitting on a different server. When
executed manually it works. When it's executed from an ASP page I get the
following error in the log. How do I give the ASP page the right
permissions.
Step Error Source: Microsoft JET Database Engine
Step Error Description:The Microsoft Jet database engine cannot open the
file '\\Cyserv12\cy12D\virtuals\magnets\magnetsdb\WebDa ta.mdb'. It is
already opened exclusively by another user, or you need permission to view
its data.
Step Error code: 80004005
Step Error Help File:
Step Error Help Context ID:5003051 |
When executing manually it executes on the same machine as EM, under the
security context of you, the user logged on. You have permissions to
access \Cyserv12\cy12D\virtuals\magnets\magnetsdb\WebData .mdb.
When called from ASP, the package now executes on the web server, under
the context of IWAM_MachineName. This is a whole can of worms from a
security point of view. Personally I suggest you don't call DTS directly
from ASP, but instead proxy it through something else, such as COM+
object which can run under a defined identity or perhaps just schedule
the package in the server.
Some words and samples of the COM+ method here-
Execute a package from Active Server Pages (ASP)
(http://www.sqldts.com/default.aspx?207)
--
Darren Green (SQL Server MVP)
DTS - http://www.sqldts.com
PASS - the definitive, global community for SQL Server professionals
http://www.sqlpass.org