MSSQL Express를 이용한 Client Application을 작성중이다. Client에서 만들어진 데이터를 별도 Thread Daemon을
통해 서버로 전송하고, 집계된 데이터는 별도 배치를 통해 데이터를 가공하게 된다.
그러나 Application 시작 후 종종 'SELECT' 구문은 처리되지만 Trasaction이 걸려 있는 Query 문에서
아래 오류가 종종 발생한다.
'System.Data.SqlClient.SqlException: 서버 'IC0-W-N07511\SQLEXPRESS'의 MSDTC를 사용할 수 없습니다.'
분산처리를 위한 Setting은 이미 적용한 상태로 원인을 파악한 결과 'MSDTC' 서비스 중지 상태다.
그럴때마다 Windows 서비스 창에서 그림의 'Distributed Transaction Coordinator' 재시작 하곤 했는데,
실제 운영시에 문제가 될것으로 판단해서 프로그램 Starter가 시작시 MSDTC를 시작할 수 있도록 작업 했다.
첨부된 Class 사용법은 아래와 같다.
private void RunMSDTC()
{
Common.ServiceHelper.StartService("MSDTC", 3000/*Timeout - Milliseconds*/);
...
}
참조:https://www.csharp-examples.net/restart-windows-service/
'개발언어 > .NET' 카테고리의 다른 글
Windows10 시작프로그램 삭제 (0) | 2020.08.08 |
---|---|
C# delegate 사용법 - 사례3 (0) | 2019.12.25 |
타 Application의 App.Config AppSetting의 지정값 가져오기 (0) | 2019.12.10 |
C# ini 파일 읽기/쓰기 클래스 (0) | 2019.12.07 |
WPF Code에서 Button Click 수행 (0) | 2019.11.30 |