Ver Mensaje Individual
  #9 (permalink)  
Antiguo 20/03/2007, 08:26
acasegra
 
Fecha de Ingreso: marzo-2007
Mensajes: 8
Antigüedad: 17 años, 2 meses
Puntos: 0
De acuerdo Re: servicio web que lance una aplicacion.

Ya lo consegui,
Ha sido engorroso pero al final funciona bien.
Os comento la receta.
Ingedientes.

-1 usuario con licencia para ejecutar "xp_cmdshell"
-1 funcion en el servidor sql:
create FUNCTION [dbo].[fn_Dts] (@Param1 char(300) )
RETURNS int
AS
BEGIN
declare @cadena char(99)
set @cadena = 'dtsrun ' + @Param1
exec master.dbo.xp_cmdshell @cadena
RETURN 1
END
-1 TABLA con almenos 1 registro
-1 UN SERVICIO WEB:

[WebMethod]
public string Dtsrun2_Funcion (string servidor, string Dts)
{
SqlConnection Conexion = new SqlConnection();
Conexion.ConnectionString = "data source='" + servidor + "';initial catalog=BASEDEDATOS;user id=USUARIO1;pwd=;";
SqlConnection conn = null;
SqlCommand cmd = null;
try
{
conn = new SqlConnection (Conexion.ConnectionString);
conn.Open();
cmd = conn.CreateCommand();
cmd.CommandText = "select top 1 dbo.fn_Dts(@parametro) from tabla";
cmd.Parameters.Add("@parametro", SqlDbType.NVarChar, 300);
cmd.Parameters["@parametro"].Value = Dts;
int result = (int)cmd.ExecuteScalar();
return result.ToString ();
}
catch (Exception esp)
{
return esp.Message ;
}
Basta ejecutar el servicio web con los parametros:

Servidor, @"/NMIDTS