FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Detectar error winexec
Hola a todos,
desde mi aplicación ejecuto un paquete dts de sql server con la siguiente instrucción: Código:
winexec(PChar('dtsrun /S nombreservidor /U usuario /P password /N nombreDTS),SW_SHOW)<31 ¿Puedo detectar desde mi aplicación si se ha producido algún error al ejecutar el paquete?. El problema es que tanto si la ejecución del paquete ha ido bien como sino el programa continúa y no se sabe si realmente la ejecución del paquete se llevó a cabo con éxito. Un saludo y muchas gracias. |
#2
|
||||
|
||||
Hasta donde yo sé, si la aplicación al fallar no devuelve un valor indicando que ha fallado, no es possible detectarlo usando sólo el "winexec".
Me refiero, a los famosos "exit code". Saludos. |
#3
|
|||
|
|||
Gracias por tu respuesta,
el caso es que la función winexec devuelve lo mismo tanto si la ejecución fue bien como sino. Por ejemplo pruebo a ejecutar un DTS que existe y uno que no y el resultado de hacer el winexec lo capturo en una variable entera, siempre obtengo el mismo resultado, en mi caso un 33. La verdad que no sé qué hacer. Muchas gracias y un saludo. |
#4
|
|||
|
|||
Hola!
Salu2 espero que te sirva. |
#5
|
|||
|
|||
Hola Khronos,
gracias por tu respuesta, he encontrado otro método de ejecución de DTS sin falta de usar una función DOS... Lo pongo a continuación por si le sirve a alguien: Código:
procedure EjecutarDTS; var pkg: Variant; i:integer; begin pkg:= CreateOleObject('DTS.Package'); try pkg.LoadFromSQLServer(datasourceName,UserName,Password,,,,,dtsName),''); for i := 1 to pkg.steps.count do pkg.steps.Item(i).executeinMainThread := True; pkg.FailOnError := true; pkg.Execute; MessageDlg('La ejecución se ha realizado correctamente',mtInformation,[mbOK],0); except on E: Exception do begin showmessage('Error = ' + E.Message); exit; end; end; pkg.uninitialize; pkg:=UnAssigned; end; Un saludo |
Herramientas | Buscar en Tema |
Desplegado | |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Detectar ERROR | mjjj | Firebird e Interbase | 5 | 29-04-2008 07:17:22 |
Ayuda con WinExec | La__X | C++ Builder | 2 | 03-06-2006 05:23:13 |
Duda con Winexec | sagarmar | Varios | 5 | 11-05-2006 12:58:17 |
WinExec | karlita_cb | Varios | 3 | 18-05-2004 20:52:21 |
winexec en w2000 | ogorut | API de Windows | 2 | 23-06-2003 18:41:58 |
|