Como fiquei de postar os resultados (demorou pela correria do final de ano) … ai vai
Como o amigo jakefrog citou … basta utilizar o comando xp_cmdshell do SqlServer … porém encontrei mais alguns problemas que foram solucionados no exemplo ilustrativo abaixo.
1o. Executar o .Jar e recuperar seu resultado. O comando xp_cmdshell só retorna 0 quando o comando foi bem sucedido e 1 quando não.
Solução: O output era sempre exibido em forma de query … então pq não tentar salvar esse resultado em uma tabela? foi o que fiz.
2o. Trabalhar com varias chamadas, já que a proposta era uma trigger em insert e update.
Solução: Criar uma tabela temporaria, para não ter que controlar o que era inserido e etc.
Após salvar o resultado em uma query temporária, foi só retornar com select o campo da tabela temporária!!!
Segue o exemplo abaixo!!!
mais uma vez obrigado pela força jakefrog! Abracaum!!!
create procedure sp_ilustrar(
@x_il varchar(250),
@x_result_il varchar(250) output)
as
declare
@linha varchar(250)
begin
set @linha = 'java -jar c:\Teste.jar "' + @x_il + '"'
begin transaction
CREATE TABLE #tb_tmp(
nm_tmp varchar(255)
)
INSERT INTO #tb_tmp
exec xp_cmdshell @linha
commit
set @x_result_il = (select top 1 nm_tmp from #tb_tmp)
end