Trying to Execute a file using exec master.dbo.xp_cmdshell, from ASP

M

Me

hi, I have this file I need to execute from an ASP client. since we
have installed it on the SQL Database server machine, I thought I
could run it
like this:


Set Cn = CreateObject("ADODB.Connection")

Cn.CursorLocation = adUseClient
Cn.ConnectionTimeout = 0
Cn.Open sConnString
Cn.Errors.Clear

If Not Cn.State = adStateOpen Then
m_sErrorData = "No active connection"
Exit Function
End If

Set Rs = CreateObject("ADODB.Recordset")
set Rs = Cn.Execute("exec master.dbo.xp_cmdshell
'C:\serverdir\test.exe usr/ProfileXXX YYY"


But, when I try this, it only works if I remove the parameter
usr/ProfileXXX YYY from the command. If I keep it, it just hangs on
the .execute command.

Strangely enough, If I try to run the same command (with the
parameter) on
the SQL Query analyzer (with the same user connection that the ASP
client uses)
it works... ( I know it works because execution proceeds to the next
line after Cn.Execute, and I get back a recordset in Rs with line
results from the executable (see below).


I have also tried to run the executable with the exec
master.dbo.xp_cmdshell command from within a stored procedure (and
then execute it from ASP)
same results. Runs only from Query analyzer...

By the way I am not doing this on ther server but on a remote machine.
Shouldn't matter though, because with Query analuyzer it does work.

I think it can only have something to do with the inclusion of the
parameter and its effects.

if the executable is run with it in query analyzer, the result in the
output grid is:

(one grid result line for each text line)

Starting Link-Run ...
0 Lines Processed out of 0
0 Elements Created with 0 Errors
NULL

(this result is ok)

but if I run it without the parameter:


Usage: 'C:\serverdir\test.exe User[/Profile] Code
NULL

I can't figure it out.

Thanks for any help....
 
A

Aaron [SQL Server MVP]

You're running it in Query Analyzer as YOU, however the ASP page is likely
running in the context of IUSR, which has a different set of security
credentials.
 
M

Me

Aaron said:
You're running it in Query Analyzer as YOU, however the ASP page is likely
running in the context of IUSR, which has a different set of security
credentials.

but, (as I mentioned) I made sure that the Query analyzer connection uses
the same SQL login/pass as the ASP client connection....

what other login is there?
 
A

Aaron [SQL Server MVP]

Get Filemon:
http://www.sysinternals.com/ntw2k/source/filemon.shtml

If you run this while trying with each method, you should see the
difference.

--
http://www.aspfaq.com/
(Reverse address to reply.)




Me said:
"Aaron [SQL Server MVP]" <[email protected]> wrote in message
You're running it in Query Analyzer as YOU, however the ASP page is likely
running in the context of IUSR, which has a different set of security
credentials.

but, (as I mentioned) I made sure that the Query analyzer connection uses
the same SQL login/pass as the ASP client connection....

what other login is there?
 

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

Members online

No members online now.

Forum statistics

Threads
473,744
Messages
2,569,484
Members
44,904
Latest member
HealthyVisionsCBDPrice

Latest Threads

Top