xp_cmdshell

19/02/2004 - 13:59 por cArLeS!! | Informe spam
Hola!

En un servidor con Windows 2000 Server y SQL Server 2000
he creado un DTS que simplemente abre un archivo de
excel, hace una serie de operaciones con él, y lo cierra.

Si ejecuto este DTS desde el "Enterprise Manager" todo
funciona correctamente, pero cuando me conecto desde otra
maquina (mediante el Query Analyzer, por ejemplo) y
ejecuto el DTS mediante xp_cmdshell (para que el DTS se
ejecute EN EL SERVIDOR) recibo un mensaje de error que
dice que no encuentra el archivo de excel o que no tiene
permiso para abrirlo.

Alguien tiene alguna idea de como solucionar esto?

Muchas gracias!!

cArLeS!!

Preguntas similare

Leer las respuestas

#1 Maximiliano Damian Accotto
19/02/2004 - 14:30 | Informe spam
Hola, supongo que el inicio del Servicio de SqlServer lo estas haciendo con
un usuario que sea del tipo Administrador verdad?

Ahora cuando te conectas al QA lo has probado con el SA o Admin?


Salu2 enormes

Maximiliano Damian Accotto

Fundicion San Cayetano S.A.
Gerente de IT
Buenos Aires - Argentina
-
Desarrollador 3 estrellas
http://www.microsoft.com/spanish/ms...efault.asp
-
(maxi_accotto[arroba]speedy.com.ar)
MSN:
-

"cArLeS!!" escribió en el mensaje
news:130f101c3f6e8$30ad1180$
Hola!

En un servidor con Windows 2000 Server y SQL Server 2000
he creado un DTS que simplemente abre un archivo de
excel, hace una serie de operaciones con él, y lo cierra.

Si ejecuto este DTS desde el "Enterprise Manager" todo
funciona correctamente, pero cuando me conecto desde otra
maquina (mediante el Query Analyzer, por ejemplo) y
ejecuto el DTS mediante xp_cmdshell (para que el DTS se
ejecute EN EL SERVIDOR) recibo un mensaje de error que
dice que no encuentra el archivo de excel o que no tiene
permiso para abrirlo.

Alguien tiene alguna idea de como solucionar esto?

Muchas gracias!!

cArLeS!!
#2 Javier Loria
19/02/2004 - 17:30 | Informe spam
Hola cArLeS:
DTS es una tecnologia del cliente, si ejecutas el comando desde el
Enterprise Manager EN EL SERVIDOR, opera sobre el servidor.
Si ejecutas un DTSRUN el DTS usara los recursos de la estacion.
Si envias una sentencia del tipo: XP_CMDSHELL 'DTSRUN ', entonces la
sentencia de SQL se envia al servidor y se ejecuta en le servidor, pero solo
los SYSADMIN tendran permiso de hacer esto y correran bajo el contexto de la
cuenta asignada al servidor NO en el contexto del usuario. Si no es un
Usuario corriente el que lo ejecuta debes asignar una cuenta especial
llamada SQLExecutiveCmdExec, que tenga los permisos necesarios.
En general depende de lo que quieras hacer asi dependera la solucion, si
quieres que un DTS tome el archivo local de la estacion, o ejecutas
directamente DTSRUN o pides que se instale el archivo en un folder
compartido para que el servidor pueda ver los datos y pasas la ruta por
parametro.
Si el archivo de Excel esta en el servidor, dependera de si el usuario
es SYSADMIN o no. Si es SYSADMIN debes asignar una cuenta al servidor de SQL
y que tenga permisos de leer el archivo. Si NO es SYSADMIN debes configurar
la cuenta SQLExecutivCmdExec.
Saludos,


Javier Loria
Costa Rica
Se aprecia la inclusion de DDL (CREATE, INSERTS, etc.)
que pueda ser copiado y pegado al Query Analizer.
La version de SQL y Service Pack tambien ayuda.

cArLeS!! escribio:
Mostrar la cita
#3 cArLeS!!
20/02/2004 - 09:55 | Informe spam
Muchas gracias a los dos por la ayuda. La verdad es que
lo que me habeis dicho ha solucionado mi problema.

Gracias de nuevo.

cArLeS!!



Mostrar la cita
comando desde el
Mostrar la cita
servidor.
Mostrar la cita
la estacion.
Mostrar la cita
XP_CMDSHELL 'DTSRUN ', entonces la
Mostrar la cita
servidor, pero solo
Mostrar la cita
bajo el contexto de la
Mostrar la cita
usuario. Si no es un
Mostrar la cita
cuenta especial
Mostrar la cita
necesarios.
Mostrar la cita
dependera la solucion, si
Mostrar la cita
o ejecutas
Mostrar la cita
un folder
Mostrar la cita
pasas la ruta por
Mostrar la cita
dependera de si el usuario
Mostrar la cita
cuenta al servidor de SQL
Mostrar la cita
SYSADMIN debes configurar
Mostrar la cita
2000
Mostrar la cita
cierra.
Mostrar la cita
otra
Mostrar la cita
tiene
Mostrar la cita
Ads by Google
Search Busqueda sugerida