DTC e Windows XP SP2


Hoje pela manhã estava fazendo um teste em um processo transacionado que estamos criando na empresa onde trabalho. Entre algumas tarefas, temos a leitura de informações (mensagens) que estão contidas dentro do Message Queue e, depois de analisado o conteúdo da mesma, o seu conteúdo é salvo em uma base de dados SQL Server 2005 (fisicamente separado), qual encontra-se hospedado em um Windows Server 2003 R2.

Ao efetuar o primeiro teste, pude notar que uma exceção aconteceu informando que o acesso remoto ao DTC estava desabilitado. Para resolver isso, não tem muito segredo. Basta ir até o Component Services, clicar com o botão direito do mouse em cima do ícone Computer e ir até as propriedades do mesmo. Depois disso, há uma aba chamada MS DTC que, no fim dela, há um botão denominado Security Configuration. Ao clicar, uma nova tela é aberta e voce precisa habilitar a opção Network DTC Access. O mesmo deve ser feito do lado de servidor se não estiver habilitado. Somente atentem-se que ao fazer qualquer alteração, o serviço do DTC sofre um stop-and-go, parando também o serviço do Message Queue que, obrigatoriamente, voce deverá inicializar.

Depois disso resolvido, ao executar novamente o processo, recebo a seguinte exceção: Unhandled Exception: System.Transactions.TransactionException: The transaction has already been implicitly or explicitly committed or aborted. —> System.Runtime.InteropServices.COMException (0x8004D00E): The transaction has already been implicitly or explicitly committed or aborted (Exception from HRESULT: 0x8004D00E).

O servidor não continha nenhum problema. O DTC do mesmo estava iniciado, não tinha problemas para acessá-lo via IP ou via nome; em resumo, decidi que o problema não estava no servidor. Depois de alguma pesquisa pela internet, encontrei alguns casos onde o pessoal estava dizendo que os envolvidos deveriam estar dentro do mesmo domínio mas, no meu caso, ambos (cliente e servidor) não tinham nenhum domínio definido.

Como o sistema operacional do meu notebook é WinXP Pro com SP2, passei a duvidar que havia alguma restrição de segurança no meu notebook. E não deu outra, foi adicionar o executável %windir%system32msdtc.exe na lista de exceção do Firewall do Windows XP que resultou com sucesso.

Publicidade

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

Conectando a %s